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 trial

Python Python Collections (2016, retired 2019) Lists Removing items from a list

Getting the task 1 no longer passing bummer

here is the question

Great! Now use .remove() and/or del to remove the string, the boolean, and the list from inside of messy_list. When you're done, messy_list should have only integers in it.

lists.py
messy_list = ["a", 2, 3, 1, False, [1, 2, 3]]

messy_list.pop(3)
messy_list.insert(0, 1)
messy_list.remove("a")
messy_list.remove(False)
messy_list.del(5)

2 Answers

Holden Glass
Holden Glass
6,077 Points

Your code is fine until you get to the messy_list.del(5). del is a python keyword, not a list method. To use the del keyword simply type del messy_list[index of whatever you want deleted]. I don't know why it would say task one is no longer completed, but this should fix your problem.

Jeff Muday
MOD
Jeff Muday
Treehouse Moderator 28,720 Points

@Holden Glass is correct. "messy_list.del(5)" is a syntax error. del is a Python keyword, but is not particularly "Pythonic" looking because it stands apart from the item it is deleting.

The Challenge Engine is quite good, but not perfect when it encounters syntax errors. So... "Task one no longer passing" simply indicates the Challenge engine's tests aren't running because they were pre-empted by the syntax error in your Python code.

Here is your last line that will make the challenge complete.

del messy_list[3]