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 22,775 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]