Combine enumerate + itertools.izip in Python
I would like to iterate + enumerate over two lists in Python. The following开发者_StackOverflow中文版 code looks ugly. Is there any better solution?
for id, elements in enumerate(itertools.izip(as, bs)):
a = elements[0]
b = elements[1]
# do something with id, a and b
Thank you.
You can assign a and b during the for loop:
for id, (a, b) in enumerate(itertools.izip(as, bs)):
# do something with id, a and b
You could use itertools.count
instead of enumerate
:
for id_, a, b in itertools.izip(itertools.count(), as_, bs):
# do something with id_, a and b
Note that I've changed the variable names slightly to avoid a reserved word and the name of a builtin.
精彩评论