假设我有一个元组列表,并且我想转换成多个列表。
例如,元组列表为
[(1,2),(3,4),(5,6),]
Python中有没有内置函数可以将其转换为:
[1,3,5],[2,4,6]
这可以是一个简单的程序。但我只是对Python中是否存在这样的内置函数感到好奇。
发布于 2011-11-10 23:03:32
内置函数zip()
几乎可以执行您想要的操作:
>>> list(zip(*[(1, 2), (3, 4), (5, 6)]))
[(1, 3, 5), (2, 4, 6)]
唯一的区别是你得到的是元组而不是列表。您可以使用以下命令将它们转换为列表
list(map(list, zip(*[(1, 2), (3, 4), (5, 6)])))
发布于 2011-11-10 23:04:00
从python docs
可以将
zip()与*运算符一起用于解压缩列表:
具体示例:
>>> 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)]
或者,如果你真的想要列表:
>>> map(list, zip(*[(1, 2), (3, 4), (5, 6)]))
[[1, 3, 5], [2, 4, 6]]
发布于 2011-11-10 23:04:09
使用:
a = [(1,2),(3,4),(5,6),]
b = zip(*a)
>>> [(1, 3, 5), (2, 4, 6)]
https://stackoverflow.com/questions/8081545
复制相似问题