Question

I would like to iterate + enumerate over two lists in Python. The following 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.

Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top