学习Python中的两个变量的For循环

2,469 阅读3分钟

在Python中为i j

Python表达式for i, j in XXX ,允许你在一个由成对的值组成的可迭代 XXX 。例如,要迭代一个图元的列表,这个表达式在每次迭代中都会在循环变量ij 中一次性捕获两个图元的值。

下面是一个例子

for i, j in [('Alice', 18), ('Bob', 22)]:
    print(i, 'is', j, 'years old')

输出

Alice is 18 years old
Bob is 22 years old

注意第一个循环迭代是如何捕获i='Alice'j=18 ,而第二个循环迭代则是捕获i='Bob'j=22

for i j in enumerate python

Python 表达式for i, j in enumerate(iterable) 允许你使用变量i 作为计数器 (0, 1, 2, ...) 和变量j 来捕获可迭代的元素,在一个可迭代元素上进行循环。

下面是一个例子,我们把计数器的值i=0,1,2 赋给lst 中的三个元素。

lst = ['Alice', 'Bob', 'Carl']
for i, j in enumerate(lst):
    print(i, j)

输出

0 Alice
1 Bob
2 Carl

注意循环迭代的捕捉方式

  • i=0 和 。j='Alice'
  • i=1 和 , 和j='Bob'
  • i=2 和 。j='Carl'

Python enumerate()

for i j in zip python

Python表达式for i, j in zip(iter_1, iter_2) ,可以将两个迭代变量iter_1iter_2 的值有序地对齐,并对元素对进行迭代。我们在变量ij 中捕获相同位置的两个元素。

下面是一个将两个列表 [1,2,3][9,8,7,6,5] 拉到一起的例子。

for i, j in zip([1,2,3], [9,8,7,6,5]):
    print(i, j)

输出

1 9
2 8
3 7

for i j in list python

Python 表达式for i, j in list 允许你在一个给定的元素对的列表上进行迭代(图元的列表列表的列表)。在每次迭代中,这个表达式都会在循环变量ij 中一次性捕获两对元素。

下面是一个例子。

for i, j in [(1,9), (2,8), (3,7)]:
    print(i, j)

输出

1 9
2 8
3 7

for i j k python

Python 表达式for i, j, k in iterable 允许你在一个给定的三元素列表(图元的列表或列表的列表)上迭代。在每次迭代中,这个表达式都会在循环变量ij 中一次性捕获所有三个元素。

下面是一个例子。

for i, j, k in [(1,2,3), (4,5,6), (7,8,9)]:
    print(i, j, k)

输出

1 2 3
4 5 6
7 8 9

for i j in a b python

给定两个列表ab ,你可以通过使用表达式for i,j in zip(a,b) 一次性迭代两个列表。

给定一个列表['a', 'b'] ,你可以使用表达式for i,j in enumerate(['a', 'b']) 来遍历成对的(标识符,列表元素)[图元]。

总结

Pythonfor 循环是一种强大的方法,可以一次遍历多个可迭代的对象,通常借助于zip()enumerate() 函数。

for i, j in zip(range(10), range(10)):
    # (0,0), (1,1), ..., (9,9)

如果一个列表元素本身就是一个可迭代的元素,你可以在定义循环变量时用逗号分隔的列表来捕获所有的可迭代元素。

for i,j,k in [(1,2,3), (4,5,6)]:
    # Do Something