Enumerate and Zip are 2 powerful functions available in python when looping over lists.
I encountered this little problem when trying to run enumerate over a zip of multiple lists
a = [1,2,3,4]
b = [4,3,2,1]
for i,a,b in enumerate(zip(a,b)):
print(i,a,b)ValueError: not enough values to unpack (expected 3, got 2)In order to overcome this, the values that needs to be unpacked from the zip function needs to be defined in parentheses
a = [1,2,3,4]
b = [4,3,2,1]
for i,(a,b) in enumerate(zip(a,b)):
print(i,a,b)0 1 4
1 2 3
2 3 2
3 4 1The value can then also be unpacked as a tuple
a = [1,2,3,4]
b = [4,3,2,1]
for i,t in enumerate(zip(a,b)):
print(i,t)0 (1, 4)
1 (2, 3)
2 (3, 2)
3 (4, 1)