Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialMateo Rial
3,694 PointsUse .remove() and/or del to remove the string, boolean, and list members of the_list. wtf is wrong????
the_list = ["a", 2, 3, 1, False, [1, 2, 3]]
the_list.insert(0,the_list.pop(2)) the_list.remove("a") the_list.remove(False) del the_list[-1] print(the_list)
the_list = ["a", 2, 3, 1, False, [1, 2, 3]]
the_list.insert(0,the_list.pop(2))
the_list.remove("a")
the_list.remove(False)
del the_list[-1]
# Your code goes below here
3 Answers
Jason Anello
Courses Plus Student 94,610 PointsHi Mateo,
I'm not sure how you passed task 1 but the one is at index 3. You should pop the item at index 3.
Your remove and del statements are fine for task 2.
Vinod Purushothaman
2,970 PointsPlease tell me why this doesn't work.
the_list = ["a", 2, 3, 1, False, [1, 2, 3]]
# Your code goes below here
the_list.insert(0, the_list.pop(3))
for item in the_list:
if type(item) != int:
the_list.remove(item)
else:
continue
Jason Anello
Courses Plus Student 94,610 PointsHi Vinod,
Modifying a list while you're looping over it can have unintended consequences. Particularly, removing items.
When False
is removed, the list after it moves down 1 index to occupy that spot. When it loops again, it's trying to look at the next index but there's nothing there so the loop ends.
It effectively skips over the list [1, 2, 3]
Instead, you could loop over a copy of the list while you remove items from the original list. This insures that every item gets looked at.
for item in the_list[:]: # using slice notation to get a copy of the_list
Vinod Purushothaman
2,970 PointsThanks Jason Anello.