将我的3D列表合并为2D列表会有什么好的pythonic方法。
a= [[[1,2],[3,4]],[[2,3],[21,18]]]
我想输出:
a= [[1,2,3,4],[2,3,21,18]]
我试过了
new =list(itertools.chain.from_iterable(a))
这不会产生预期的结果。它给出了
a= [[1,2],[3,4],[2,3],[21,18]]
答案 0 :(得分:1)
您的(Sb92)方法几乎是正确的,但不是在外部列表上执行from_iterable,而是需要将其应用于内部列表。
以下方法可行:
[list(itertools.chain.from_iterable(b)) for b in a]
答案 1 :(得分:1)
from itertools import chain
a= [[[1,2],[3,4]],[[2,3],[21,18]]]
[list(chain(*i)) for i in a]
[[1, 2, 3, 4], [2, 3, 21, 18]]
答案 2 :(得分:0)
尝试一下:
a= [[[1,2],[3,4]],[[2,3],[21,18]]]
print [list(set(sum(x, []))) for x in a]