在Python中创建同时循环

时间:2009-09-21 02:59:57

标签: python loops

我想创建一个具有这种感觉的循环:

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

5 个答案:

答案 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)

你想要的是两个数组和一个循环,迭代每个数组一次,添加结果。