Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Deborah Millians
553 PointsEven IT husband is not able to help me create the correct loop in this challenge.
He sat me down to help come up with the pseudo code. But getting it to Python has us stumped.
the_list = ["a", 2, 3, 1, False, [1, 2, 3]]
# Your code goes below here
new_list = the_list.pop(3)
the_list.insert(0, new_list)
for item in the_list:
item = 0
while True:
try:
del the_list(0)
except:
break
3 Answers

Girri M Palaniyapan
7,829 PointsWhat's the task specifically demanding Deborah?

Deborah Millians
553 PointsThe task is to use either the remove or the del prompt to remove the string, the list and the Boolean from the variable. Been trying to create a loop but keep getting syntax errors.
F.Y.I. - I was able to solve the task individually but that seems to be the long way of doing the task.

Nicholas Ah Kun
2,419 Pointsi wouldn't overcomplicate the solution in this case, the course are still basics and meant to get you use to list comprehensions, loops and certain keywords.
Your intentions are good though in that you are wanting to generalize the solution.
A specific solution would be to just 'del' the specific items in the list (with the relevant indices).
To generalize it, you'd have to look at python's 'type' function.
The pseuo code would be as follows:
for item in list: if type(item) == bool or type(item) == str or type(item) == list then delete item

C H
6,587 PointsI had the same type of question. This is how I went about it, but I still can't get the embedded list of integers deleted automatically.
def clean(alist):
for item in alist:
if type(item) is int:
continue
else:
alist.remove(item)
Nicholas Ah Kun
2,419 PointsNicholas Ah Kun
2,419 Pointsfollowing through the logic this is what is happening
new_list = the_list.pop(3) returns 1. new_list is not a list, but an int.
the_list.insert(0, new_list) will insert 1 in position 0. the_list will then be [1, "a", 2, 3, False, [1, 2, 3]]
Then you are iterating through the_list.
The 'for item in the_list' will return the first item item == 1 (first item in the_list is 1) you then set item to 0 'item = 0' you then try to delete position 0 in the_list. However since this is a LIST, you cannot use the () to reference items in a list. you can delete items using del the_list[0].
overall the following is happening in the loop
the loop will iterate 6 times (number of elements in the_list) +each loop it will set item to 0 and then it will enter another loop.