我想删除外部列表中的列表[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)
答案 0 :(得分:2)
将删除所有内部列表:
messy_list = ["a", 2, 3, 1, False, [1, 2, 3]]
cleaned = [item for item in messy_list if not isinstance(item,list)]
print(cleaned)
我正在使用列表理解来检查item
的所有messy_list
,如果它本身不是列表,则只会将其添加到生成的新列表中。
答案 1 :(得分:0)
我们可以像删除单个列表一样删除列表内的列表,只需将列表对象的引用提供给del函数即可。
del(list_object).
例如:-
a = [1,2,3,[4,5,6]]
del(a[3])
此后,a会看起来像
。[1, 2, 3]