从python中的迭代对象创建一个包含一组树的迭代对象
如何从一个迭代对象创建三人迭代组?为了创建一对迭代函数,我可以做如下操作 来自itertools进口三通从python中的迭代对象创建一个包含一组树的迭代对象,python,python-3.x,Python,Python 3.x,如何从一个迭代对象创建三人迭代组?为了创建一对迭代函数,我可以做如下操作 来自itertools进口三通 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 = 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
使用:
您还可以使用此方法创建两个组:
l = [1,2,3,4,5]
for a, b in zip(l, l[1:]):
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
的调用
1 2 3
2 3 4
3 4 5