如何将一个列表嵌套的结构中的每个最底层元素取出,并形成一个新的列表

ε祈祈猫儿з 提交于 2019-11-26 18:58:47

有如下的嵌套列表

x0 = [('tom','jerry','spike'),('micky','minnie','donald')]

现在要将其中的最底层元素取出,形成一个新的列表:

['tom', 'jerry', 'spike', 'micky', 'minnie', 'donald']

常规方法用双重for循环来取出,并逐个添加的新的列表中:

character0=[]
for i in x0:
    for j in i:
        character0.append(j)
print character0

输出:

['tom', 'jerry', 'spike', 'micky', 'minnie', 'donald']

现在可以用一种较为紧凑的形式来达到同样的效果:

character1=[]
character1 = [i for innertuple in x0 for i in innertuple]
print character1


输出:

['tom', 'jerry', 'spike', 'micky', 'minnie', 'donald']

如果嵌套结构再复杂一些:


x1=[([1,2,3],[4,5,6]),([4,5,6],[7,8,9])]


那么在循环中再加一层即可:


print [i for innertuple in x1 for innerlist in innertuple for i in innerlist ]


输出:


[1, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9]










标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!