您如何检查列表内部是否也是列表?
例如:
[[2,3]]
这是列表中的列表。对于我的代码,我需要检查list1索引是否为列表,如果为列表,则将其作为单个索引而不是列表添加到新列表中。
list1 = [1, [[2, 3]], [4], 5]
list2 = []
for i in range(0, len(list1)):
if (isinstance(list1[i],list)):
list2.extend(list1[i])
else:
list2.append(list1[i])
print(list2)
打印出[1,[2,3],4,5]
这表明它确实添加了4,因为4最初是一个列表。但是它不会将2,3添加到列表中。
这是我要打印的内容:
[1,2,3,4,5]
这是我尝试检查列表中是否有列表的方法,但是它不起作用:
elif(isinstance(list1[i],list) and isinstance(list1[i][0],list)):
list2.extend(list1[i][0])
使用递归函数将列表变平:
def flatten(lst):
assert isinstance(lst, list)
result = []
for i in lst:
if isinstance(i, list):
result.extend(flatten(i))
else:
result.append(i)
return result
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句