如何从迭代对象创建迭代组的三个?为了创建一对迭代函数,我可以做类似的事情 从 itertools 导入 tee
def func(iterate):
i, j = tee(iterate)
next(j, None)
return zip(i, j)
l = [1,2,3,4,5]
for a, b in func(l):
print(a, b)
> 1, 2
> 2, 3
> 3, 4
> 4, 5
最佳答案
您可以扩展您已经为两人一组所做的工作,但为第三项增加一个变量:
def func(iterate):
i, j, k = tee(iterate, 3)
next(j, None)
next(k, None)
next(k, None)
return zip(i, j, k)
l = [1,2,3,4,5]
for a, b, c in func(l):
print(a, b, c)
这个输出:
1 2 3
2 3 4
3 4 5
请注意,问题中的示例代码不正确,因为它在 func
的返回值中缺少对 zip
的调用。
关于python - 从python中的迭代对象创建一个带有一组树的迭代对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55214404/