删除列表中的列表

Remove a list inside a list

我想删除外部列表中的列表 [1,2,3]。 我尝试了 or isinstance(item, list) 但那没有用,嵌套列表仍然存在。

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

# Your code goes below here
messy_list.pop(3)
messy_list.insert(0,1)

for item in messy_list:
    if isinstance(item, str) or isinstance(item, bool):
        messy_list.remove(item)

messy_list.pop(-1)

print(messy_list)

我想知道是否有更好的方法来检查列表中是否有列表,然后从外部列表中删除,而不必使用 .pop(-1)

将删除所有内部列表:

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

cleaned = [item for item in messy_list if not isinstance(item,list)]

print(cleaned)

我正在使用一个列表理解来检查你的 messy_list 的所有 item 并且只有当它本身不是列表时才将其添加到生成的新列表中。

我们可以像删除单个列表一样删除列表中的列表,只需将列表对象的引用提供给 del 函数。

del(list_object).

例如:-

a = [1,2,3,[4,5,6]]
del(a[3])

之后的样子。

[1, 2, 3]