我想创建一个具有这种感觉的循环:
for i in xrange(0,10): for k in xrange(0,10): z=k+i print z where the output should be 0 2 4 6 8 10 12 14 16 18
答案 0 :(得分:16)
您可以使用zip
将多个列表(或可迭代)转换为成对*元组:
>>> for a,b in zip(xrange(10), xrange(10)):
... print a+b
...
0
2
4
6
8
10
12
14
16
18
但是zip
在较大的集合上不会像izip
(提到的那样)一样扩展。 zip
的优势在于它是内置的,您不必import itertools
- 并且 实际上是否具有优势是主观的。
*不只是成对,而是 n -wise。元组的长度将与传递给zip
的可迭代次数相同。
答案 1 :(得分:11)
itertools
模块包含一个izip
函数,它以所需的方式组合迭代器:
from itertools import izip
for (i, k) in izip(xrange(0,10), xrange(0,10)):
print i+k
答案 2 :(得分:2)
您可以在python中执行此操作 - 只需使选项卡正确并使用xrange参数进行步骤。
for i in xrange(0, 20, 2);
print i
答案 3 :(得分:2)
这个怎么样?
i = range(0,10)
k = range(0,10)
for x in range(0,10):
z=k[x]+i[x]
print z
0 2 4 6 8 10 12 14 16 18
答案 4 :(得分:0)
你想要的是两个数组和一个循环,迭代每个数组一次,添加结果。