删除列表中的列表
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]
我想删除外部列表中的列表 [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]