Python - 多次使用两个压缩列表
Python - Use two zipped lists multiple times
我有以下 zip:a = zip(list_a, list_b)
。
我一直认为一旦压缩 a
,它就会保持压缩状态。这样以下内容将起作用:
for iteration in range(100):
for i, j in a:
# do something
但我注意到在第二次迭代时 a
是空的。首先,我对 zip
的理解是否正确,其次,是否有适合这种情况的简单单行替代方案?
zip
returns 一个迭代器;它每对生成一次,然后就完成了。所以解决方案通常是在循环中内联 zip
以便每次都重新创建它:
for iteration in range(100):
for i, j in zip(list_a, list_b):
# do something
或者如果由于某种原因这不起作用,只需 list
- 预先验证 zip
迭代器,使其可重用:
a = list(zip(list_a, list_b))
然后使用您原来的循环代码。
我有以下 zip:a = zip(list_a, list_b)
。
我一直认为一旦压缩 a
,它就会保持压缩状态。这样以下内容将起作用:
for iteration in range(100):
for i, j in a:
# do something
但我注意到在第二次迭代时 a
是空的。首先,我对 zip
的理解是否正确,其次,是否有适合这种情况的简单单行替代方案?
zip
returns 一个迭代器;它每对生成一次,然后就完成了。所以解决方案通常是在循环中内联 zip
以便每次都重新创建它:
for iteration in range(100):
for i, j in zip(list_a, list_b):
# do something
或者如果由于某种原因这不起作用,只需 list
- 预先验证 zip
迭代器,使其可重用:
a = list(zip(list_a, list_b))
然后使用您原来的循环代码。