python - 将列表转换为每两个元素的元组列表

标签 python

<分区>

如何将列表转换为元组列表?元组由列表的偶数和奇数索引处的元素组成。例如,我有一个列表 [0, 1, 2, 3, 4, 5] 并且需要转换为 [(0, 1), (2, 3), (4, 5)]

我能想到的一种方法如下。

l = range(5)

out = []
it = iter(l)
for x in it:
    out.append((x, next(it)))

print(out)

最佳答案

iter 的乐趣:

it = iter(l)
[*zip(it, it)]  # list(zip(it, it))
# [(0, 1), (2, 3), (4, 5)]

您还可以以 2 和 zip 的步长切片:

[*zip(l[::2], l[1::2]))]
# [(0, 1), (2, 3), (4, 5)]

关于python - 将列表转换为每两个元素的元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53990075/

相关文章:

python - gem5 构建失败并显示 "Embedded python library 3.6 or newer required, found 2.7.17."

python - 无法将 WTForms 数据提交到 MySQL

python - 迭代redis db中所有键和值的更快方法

python - 如何从同一个类的类方法调用实例方法

python - 在函数中使用exec函数并定义变量

python - 为 CSV 阅读器引用 Python 字典中的键

python - 可以在不暂停 Python 解释器的情况下在后台运行异步事件循环吗?

python - 对数似然成本函数 : mean or sum?

python - 如何使用 miniconda 获得一个完全干净的 python 环境?

python - matplotlib 将 x 轴上的刻度线命名为 1、2、4、8、16 等