JonB JonB - 1 year ago 89
Python Question

How do I loop through a tuple of lists element-wise?

I have a function that returns a tuple of two lists

def two_lists():
return [1, 2, 3], ['a', 'b', 'c']

I want to loop through the tuple in a manner similar to this

for v1, v2 in two_lists():
print v1, v2

1, a
2, b
3, c

The only way I have found I find rather cumbersome!

a, b = two_lists()
for i, y in zip(a, b):
print i, y

Is there a prettier more pythonic way to achieve this?

Answer Source

Sure, you can directly unpack two_lists() in your zip call.

for i, y in zip(*two_lists()):
    print i, y

This is the idiomatic way to do this.