使用枚举遍历多个列表

Looping over multiple lists with enumerate

在 Python 3 中枚举和 zip 似乎不能一起工作?

alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']

for i, a, b in enumerate(zip(alist, blist)):
    print(i, a, b)

Returns 'int' 对象不可调用

a,b 周围添加 ()。值的解包用于 enumerate 函数,其中 returns 个大小为二的元组:索引和值。如果您还想解压价值项目,那么如下所示:

for i, (a, b) in enumerate(zip(alist, blist)):
    print(i, a, b)

因为 zip returns 元组,你还可以这样做:

for i, t in enumerate(zip(alist, blist)):
    print(i, t[0], t[1])

或者:

for i, t in enumerate(zip(alist, blist)):
    print(i, *t)