从甚至可迭代的[重复]中获取2元组的可迭代

Posted

技术标签:

【中文标题】从甚至可迭代的[重复]中获取2元组的可迭代【英文标题】:Get iterable of 2-tuples from even iterable [duplicate] 【发布时间】:2020-12-16 10:03:15 【问题描述】:

标准库中是否有一个函数可以生成一个可迭代的 2 元组的可迭代,该可迭代保证具有偶数数量的元素?

INPUT = 'ABCDEF'
OUTPUT = [('A', 'B'), ('C', 'D'), ('E', 'F')]

我找不到任何适合 itertools 的内容。

【问题讨论】:

list(zip(INPUT[::2], INPUT[1::2])),这里是dupe grouper 配方 in itertools 不这样做吗? OUTPUT = list(zip(*[iter(INPUT)]*2)) @inspectorG4dget 谢谢。我想我把这件事复杂化了。 提到的问题是旧的,仅涉及列表。我一般不想要列表。此外,它指的是izip()的使用,不再可用。 【参考方案1】:

试试这个

INPUT = 'ABCDEF'
OUTPUT = list(zip(INPUT[0::2], INPUT[1::2]))

【讨论】:

这没有用,因为一般的可迭代是不可订阅的。

以上是关于从甚至可迭代的[重复]中获取2元组的可迭代的主要内容,如果未能解决你的问题,请参考以下文章

迭代器

如何在 Python Pandas 中扩展存储为单个值的可迭代对象? (又名反向分组)[重复]

对本身位于元组中的元组(可迭代的可迭代)求和的最有效方法是啥?

从任意长的可迭代对象中分解元素(*式方法)

内置函数补充

tuple()方法