-
Smart猫小萌
您可以从标准列表扁平化模式和中概括这一点zip:>>> L = [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]>>> list([y for z in x for y in z] for x in zip(*L))[[1, 2, 7, 8], [3, 4, 9, 10], [5, 6, 11, 12]]>>> L = [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]],[[13,14],[15,16],[17,18]]]>>> list([y for z in x for y in z] for x in zip(*L))[[1, 2, 7, 8, 13, 14], [3, 4, 9, 10, 15, 16], [5, 6, 11, 12, 17, 18]]
-
开满天机
如果你不介意它是列表中的一个元组。你也可以尝试:from itertools import chaina = [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]], [[13, 14], [15, 16], [17, 18]]]output = list(map(list, map(chain.from_iterable, zip(*a))))# [[1, 2, 7, 8, 13, 14], [3, 4, 9, 10, 15, 16], [5, 6, 11, 12, 17, 18]]
-
紫衣仙女
这是一种方法:initial = [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]output = [a+b for a, b in zip(*initial)]print(output)如果您有更多列表,这也适用:import itertoolsinitial = [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]],[[13,14],[15,16],[17,18]]]output = [list(itertools.chain.from_iterable(values)) for values in zip(*initial)]print(output)
-
米脂
这样就可以了,我将您的输入命名为first:[*map(lambda x: list(i for s in x for i in s), zip(*first))][[1, 2, 7, 8], [3, 4, 9, 10], [5, 6, 11, 12]]