Python中一个for循环循环多个变量
原创
©著作权归作者所有:来自51CTO博客作者TheOneGIS的原创作品,请联系作者获取转载授权,否则将追究法律责任
首先,熟悉一个函数zip,如下是使用help(zip)对zip的解释。
Help on built-in function zip in module __builtin__:
zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
Return a list of tuples, where each tuple contains the i-th element
from each of the argument sequences. The returned list is truncated
in length to the length of the shortest argument sequence.
看一个实例:
x = [1, 2, 3]
y = [-1, -2, -3] # y = [i * -1 for i in x]
zip(x, y)
zip的结果如下:
[(1, -1), (2, -2), (3, -3)]
zip([seql, ...])接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。
进入正题:如何使用一个for循环同时循环多个变量呢?使用tuple。如下,同时循环i和j变量。
for (i, j) in [(1, 2), (2, 3), (4, 5)]:
print(i, j)
输出结果如下:
所以我们如果要将x和y中的元素分别相加,则可以使用如下代码:
for (i, j) in zip(x, y):
print(i + j)
输出结果:
0
0
0