为什么它可以实现扁平化?可以把所有list 和 tuple里的数提取出来。

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)))