Python 删除列表中的列表
我想删除外部列表中的列表[1,2,3]。 我尝试了Python 删除列表中的列表,python,list,nested-lists,Python,List,Nested Lists,我想删除外部列表中的列表[1,2,3]。 我尝试了或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(ite
或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)
我正在使用一个列表理解,它检查您的
凌乱列表的所有项
,只有当列表本身不是列表时才将其添加到生成的新列表中。我们可以像删除单个列表一样删除列表中的列表,只需将列表对象的引用提供给del函数即可
del(list_object).
例如:-
a = [1,2,3,[4,5,6]]
del(a[3])
在这之后,a将看起来像
[1, 2, 3]
也许是一个列表理解messy\u list=[i for i in messy\u list if not isinstance(i,list)]
@Dark你比我强,想让它成为一个答案吗?或isinstance(item,list)
对我有效,所以可能是别的什么?顺便说一句,不建议对循环的列表执行操作,而是使用副本,一种方法是对凌乱列表中的项目[:]:
进行,或者使用列表理解。