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

huyen nguyen
huyen nguyen
850 Points

why it does not work :(

please help!!!

messy_list = ["a", 2, 3, 1, False, [1, 2, 3]]
for i in messy_list:
    if i is not int:
        return messy_list.remove(i)

# Your code goes below here

1 Answer

Through some research i got this from the Python documentation. Here is the link to the docs. List Comprehensions

In so many words, we are told to build a new list based on the old one.

This was my solution.

messy_list = ["a", 2, 3, 1, False, [1, 2, 3]]

# Your code goes below here

a = messy_list.pop(3)
b = messy_list.insert(0, a)

# build a new list based on the old one:
messy_list = [item for item in messy_list if type(item) == int]

Hope this helps.

PS:Is there anyone who managed Challenge Task 1 of 2 in one step?

William Li
William Li
Courses Plus Student 26,868 Points

actually the assignment to variable b is not needed. As to your question, here's one-liner for part 1

messy_list.insert(0, messy_list.pop(3))