添加具有多个循环变量的索引变量Python

Add index variable with more than one loop variable Python

当运行单变量循环时,添加索引变量很容易:

a = ( (2,3), (7,9) )
for i,v in enumerate( a ):
    print( v )
    print( i )

产量:

(2, 3)
0
(7, 9)
1

尝试生成一个双变量循环也很有效:

for c,v in enumerate( a ):
    print( c )
    print( v ) 

产量:

0
(2, 3)
1
(7, 9)

但是,通过枚举为 3 个循环变量添加索引不起作用:

for i,c,v in enumerate( a ):
    print( c )

产量:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: not enough values to unpack (expected 3, got 2)

enumerate returns 一个有对的迭代器,从不三倍。对于这个特定的输入数据,这种对的第二个成员是一对本身。于是就有了嵌套。您应该使用相同的嵌套解压该结构:

for i, (c, v) in enumerate( a ):
    print(f"i={i} c={c} v={v}")