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

Using isinstance to check for str and bool. It seems like this should work but I'm not getting past this level.
messy_list = ["a", 2, 3, 1, False, [1, 2, 3]]


for n in messy_list:
    if isinstance(n, str):
    elif isinstance(n, bool):

1 Answer

Steven Parker
Steven Parker
182,309 Points

Your idea is good, but there are a couple of implementation issues:

  • altering a list while iterating on it can cause items to be skipped, use a copy for the loop
  • besides str and bool, there's also a list to remove
  • hint: try just removing everything but what you want to keep