Alex Pavlushkin5,807 Points
Hi! I have trouble with excluding boolean items from a list. How can I handle with it elegantly?
I tried to add an additional condition in a try section, however, it seems that the second condition in try section overrides the first one.
messy_list = ["a", 2, 3, 1, False, [1, 2, 3]] moving_item = messy_list.pop(3) messy_list.insert(0, moving_item) for item in messy_list: try: item + 1 # isinstance(item, not bool) except TypeError: messy_list.remove(item) print(messy_list)
Steven Parker177,667 Points
You seem to have the right idea, but you have a few implementation issues:
- you won't need "try/except", a simple "if" will do
- "type" will give you a more specific test than "isinstance"
- never modify an active iterable, loop using a copy of the iterable
- you won't need to "print" anything