首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重塑列表/Arrays

重塑列表/Arrays
EN

Stack Overflow用户
提问于 2021-11-02 13:56:54
回答 2查看 27关注 0票数 1

我有以下列表:

代码语言:javascript
复制
initial_list =[[[1],[11]],[[2],[12]],[[3],[13]],[[4],[14]],[[5],[15]]] 

我想将initial_list转换为以下列表:

代码语言:javascript
复制
new_list = [[1, 2, 3, 4, 5], [11, 12, 13, 14, 15]]

有什么想法吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2021-11-02 14:01:46

您可以使用zipitertools.chain,如下所示:

代码语言:javascript
复制
>>> 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]
票数 1
EN

Stack Overflow用户

发布于 2021-11-02 14:17:10

使用zipiter

代码语言:javascript
复制
>>> 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]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69811688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档