我有以下 zip: a = zip(list_a, list_b). 我一直認為,一旦我拉上拉鏈a,它就會保持拉緊狀態。這樣就可以了:
for iteration in range(100):
for i, j in a:
# do something
但我注意到在第二次迭代中a是空的。首先,我的理解zip是否正確,其次,是否有適合這種情況的簡單單行替代方案?
uj5u.com熱心網友回復:
zip回傳一個迭代器;它產生每對一次,然后就完成了。所以解決方案通常是行內zip回圈,以便每次都重新創建:
for iteration in range(100):
for i, j in zip(list_a, list_b):
# do something
或者如果由于某種原因這不起作用,只需list預先 -ifyzip迭代器,以便它可以重用:
a = list(zip(list_a, list_b))
然后使用您的原始回圈代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/343228.html
