如何循环遍历python中列表中的每个元素。 例如,如果我有列表:
list = ["abc",3,(10,(11,12))]
我希望将列表拆分为:['a','b','c',3,10,11,12]
现在我有:
def combinelist(list):
l = []
for item in list:
l.append(item)
return l
然而,这只返回完全相同的列表。我如何深入了解列表中的每个元素并拆分每个元素?谢谢您的帮助!
答案 0 :(得分:1)
好吧,我不知道优雅的编码方式,所以......
l = ["abc",3,('x','y')]
o = []
for i in l:
if isinstance(i, str):
o.extend(list(i))
elif isinstance(i, (tuple, list)):
o.extend(i)
else:
o.append(i)
print o
或者:
o = []
for i in l:
try:
o.extend(list(i)) # can it be casted to sequence?
except TypeError:
o.append(i)
print o
甚至:
o = []
for i in l:
if isinstance(i, (str, list, tuple)):
o.extend(list(i))
else:
o.append(i)
print o