我有以下列表:
initial_list =[[[1],[11]],[[2],[12]],[[3],[13]],[[4],[14]],[[5],[15]]] 我想将initial_list转换为以下列表:
new_list = [[1, 2, 3, 4, 5], [11, 12, 13, 14, 15]]有什么想法吗?
谢谢。
发布于 2021-11-02 14:01:46
您可以使用zip和itertools.chain,如下所示:
>>> from itertools import chain
>>> lst =[[[1],[11]],[[2],[12]],[[3],[13]],[[4],[14]],[[5],[15]]]
>>> list(map(list,map(chain.from_iterable,zip(*lst))))
[[1, 2, 3, 4, 5], [11, 12, 13, 14, 15]]
# for more explanation
>>> list(zip(*lst))
[([1], [2], [3], [4], [5]), ([11], [12], [13], [14], [15])]
>>> list(chain.from_iterable(list(zip(*lst))[0]))
[1, 2, 3, 4, 5]发布于 2021-11-02 14:17:10
使用zip和iter
>>> initial_list = [[[1],[11]],[[2],[12]],[[3],[13]],[[4],[14]],[[5],[15]]]
>>> [list(map(next, map(iter, i))) for i in zip(*initial_list)]
[[1, 2, 3, 4, 5], [11, 12, 13, 14, 15]]https://stackoverflow.com/questions/69811688
复制相似问题