python - 从可迭代的点生成路径

标签 python python-3.x iterator iterable

假设我有一组{a, b, c, d}。我想从中创建一个“路径”,这是一个产生 (a, b) 的生成器,然后是 (b, c),然后是 (c , d)(当然 set 是无序的,所以通过元素的任何其他路径都是可以接受的)。

执行此操作的最佳方法是什么?

最佳答案

这是一个使用来自 http://docs.python.org/3/library/itertools.html#itertools-recipespairwise() 配方的示例

>>> from itertools import tee
>>> def pairwise(iterable):
...     "s -> (s0,s1), (s1,s2), (s2, s3), ..."
...     a, b = tee(iterable)
...     next(b, None)
...     return zip(a, b)
...
>>> for pair in pairwise({1, 2, 3, 4}):
...     print(pair)
...
(1, 2)
(2, 3)
(3, 4)

关于python - 从可迭代的点生成路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820124/

相关文章:

python - Pandas groupby 最大总和

python-3.x - 如何读取存储在azure blob存储中的.py文件中的变量

python - django sql-server 2008 sp2 和 sql-server 2012

python - Windows 上使用 Python 和 subprocess.Popen() 的 Unicode 文件名

python - 将标准差添加到 pandas groupby 对象的平均值

python - Python 会自动用 << 1 替换 * 2 吗?

python - 如何只引用MultiIndex的某些部分?

c++ - 错误 : vector iterators incompatible

javascript - 中断递归函数

c++ - 如何创建过滤 vector 的迭代器?