在Python

时间:2016-01-14 01:57:14

标签: python list python-2.7 nested flatten

我已经知道很多方法可以用来压缩列表列表。

例如:

方法1:

A = [[1, 2], [3, 4], [5, 6]]
print sum(A, [])

方法2

from itertools import chain
print list((chain.from_iterable(A)))

方法3

 print [ val for sublist in A for val in sublist ]

但如果您的列表以这种方式排列:

[[[[[[3]]]]], 'i', 1, 2] -> [3, 'i', 1, 2]
[[[[2]]], 1] -> [2, 1]
[[[[3]]], [[[2]]], [[[2]]], [[['y']]]] -> [3, 2, 2, 'y']

列表的嵌套可以是任何深度。你能帮帮我吗?

我的想法是在Python中使用type函数,例如

A = [[[[[[[3]]]]]]]

var = type(A)

while type(A) == var and type(A[0]) == var:
    A = A[0]

print A

0 个答案:

没有答案