<分区>
如何将列表转换为元组列表?元组由列表的偶数和奇数索引处的元素组成。例如,我有一个列表 [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)
标签 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 - 为 CSV 阅读器引用 Python 字典中的键
python - 可以在不暂停 Python 解释器的情况下在后台运行异步事件循环吗?
python - 对数似然成本函数 : mean or sum?