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

2024-10-01 02:29:18 发布

您现在位置: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)

Tags: 方法in元素列表forrangeitout
3条回答

您也可以使用不带zip的列表理解来完成此操作

l=[0, 1, 2, 3, 4, 5]
print([(l[i],l[i+1]) for i in range(0,len(l),2)])
#[(0, 1), (2, 3), (4, 5)]

使用列表理解:

[(x, y) for x, y in zip(l[::2],l[1::2])]
[(0, 1), (2, 3), (4, 5)]

iter很有趣:

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

您也可以以2和zip的步幅进行切片:

^{pr2}$

相关问题 更多 >