gpt4 book ai didi

python - 如何将元组列表解压缩到单个列表中?

转载 作者:IT老高 更新时间:2023-10-28 12:16:41 25 4
gpt4 key购买 nike

Possible Duplicate:
A Transpose/Unzip Function in Python

我有一个元组列表,我想将这个列表解压缩成两个独立的列表。我正在寻找 Python 中的一些标准化操作。

>>> l = [(1,2), (3,4), (8,9)]
>>> f_xxx (l)
[ [1, 3, 8], [2, 4, 9] ]

我正在寻找一种简洁和 Pythonic 的方式来实现这一点。

基本上,我正在寻找 zip() 的逆运算功能。

最佳答案

使用zip(*list):

>>> l = [(1,2), (3,4), (8,9)]
>>> list(zip(*l))
[(1, 3, 8), (2, 4, 9)]

zip() function将所有输入的元素配对,从第一个值开始,然后是第二个,等等。通过使用 *lapply all tuples in l as separate arguments to the zip() function ,所以 zip() 先将 138 配对,然后是 2 带有 49。这些恰好与列或 ltransposition 对应。

zip() 产生元组;如果您必须有可变列表对象,只需 map() 将元组列表或使用列表推导来生成列表列表:

map(list, zip(*l))          # keep it a generator
[list(t) for t in zip(*l)] # consume the zip generator into a list of lists

关于python - 如何将元组列表解压缩到单个列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12974474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com