def flatten(items):
lst=[]
for x in items:
if isinstance(x,(list,tuple)) and not isinstance(x,str):#tuple 元组
for element in flatten(x):
lst.append(element)
else:
if type(x)!=str:
lst.append(x)
return lst
items=[11,2,[3,7],(68,-1),'123',9]
l=[i for i in flatten(items)]
print(l)
print(sum(l))
flatten函数内,递归调用了flatten,每次都把当前列表内的下一层元素合并为一个列表。
直到最内侧的不再是tuple和list (isinstance(x,(list,tuple)))