回答
另一種選擇,但我更喜歡的解決方案中的問題,就是:
from itertools import count
for i, x, y in zip(count(), seq1, seq2):
pass
這實際上很聰明 - 我不會想到它。 – mgilson 2013-04-04 12:33:34
你確定這樣比較好嗎?我認爲在zip壓縮邏輯中對count()的額外函數調用會比壓縮後枚舉邏輯更重。 不管怎麼樣[izip](http://docs.python.org/2/library/itertools.html#itertools.izip)? – 2013-04-04 12:38:38
@InbarRose在我的回答中,我確實說過我不喜歡這個,儘管有些人可能會這麼做。至於速度我不知道,這似乎會更快,但這只是一個猜測。 'izip'當然會更有效Python 2 – jamylak 2013-04-04 12:41:40
對於不同長度的名單我會用izip_longest相反,它應該是這樣的:
from itertools import izip_longest
for index, (item1, item2) in enumerate(izip_longest(list1, list2, fillvalue=None)):
# code
有什麼不容易呢? – 2013-04-04 12:30:09
你的意思是* magic *? – 2013-04-04 12:30:33
我並不是說這不容易。我問,這樣做更容易。 :) – Des333 2013-04-04 12:31:06