【发布时间】:2020-04-22 13:45:35
【问题描述】:
看起来 enumerate 和 zip 在 Python 3 中不能一起使用?
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']
for i, a, b in enumerate(zip(alist, blist)):
print(i, a, b)
返回 'int' 对象不可调用
【问题讨论】:
看起来 enumerate 和 zip 在 Python 3 中不能一起使用?
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']
for i, a, b in enumerate(zip(alist, blist)):
print(i, a, b)
返回 'int' 对象不可调用
【问题讨论】:
在a,b 周围添加()。值的解包是针对 enumerate 函数,它返回大小为 2 的元组:索引和值。如果您还想解开价值项目,那么如下:
for i, (a, b) in enumerate(zip(alist, blist)):
print(i, a, b)
【讨论】:
() 并且它有效
由于zip返回元组,你也可以这样做:
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)
【讨论】: