首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将元组列表转换为多个列表?

如何将元组列表转换为多个列表?
EN

Stack Overflow用户
提问于 2011-11-10 23:02:25
回答 7查看 70.9K关注 0票数 127

假设我有一个元组列表,并且我想转换成多个列表。

例如,元组列表为

代码语言:javascript
运行
复制
[(1,2),(3,4),(5,6),]

Python中有没有内置函数可以将其转换为:

代码语言:javascript
运行
复制
[1,3,5],[2,4,6]

这可以是一个简单的程序。但我只是对Python中是否存在这样的内置函数感到好奇。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-11-10 23:03:32

内置函数zip()几乎可以执行您想要的操作:

代码语言:javascript
运行
复制
>>> list(zip(*[(1, 2), (3, 4), (5, 6)]))
[(1, 3, 5), (2, 4, 6)]

唯一的区别是你得到的是元组而不是列表。您可以使用以下命令将它们转换为列表

代码语言:javascript
运行
复制
list(map(list, zip(*[(1, 2), (3, 4), (5, 6)])))
票数 189
EN

Stack Overflow用户

发布于 2011-11-10 23:04:00

python docs

可以将

zip()与*运算符一起用于解压缩列表:

具体示例:

代码语言:javascript
运行
复制
>>> zip((1,3,5),(2,4,6))
[(1, 2), (3, 4), (5, 6)]
>>> zip(*[(1, 2), (3, 4), (5, 6)])
[(1, 3, 5), (2, 4, 6)]

或者,如果你真的想要列表:

代码语言:javascript
运行
复制
>>> map(list, zip(*[(1, 2), (3, 4), (5, 6)]))
[[1, 3, 5], [2, 4, 6]]
票数 47
EN

Stack Overflow用户

发布于 2011-11-10 23:04:09

使用:

代码语言:javascript
运行
复制
a = [(1,2),(3,4),(5,6),]    
b = zip(*a)
>>> [(1, 3, 5), (2, 4, 6)]
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8081545

复制
相关文章

相似问题

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