range(2) gives a list [0, 1]. So, your i, j will be fetched from first list and and then from the second list.
So, your loop is similar to: -
for i, j in [0, 1], [0, 1]:
print i, j
Prints: -
0 1
0 1
Now, if you have range(3) there, then it will fail, because, range(3) gives a 3-element list, which cannot be unpacked in two loop variables.
So, you cannot do: -
for (i, j) in [[0, 1, 2]]:
print i, j
It will fail, giving you the error that you are getting.
Try using zip, to zip your both list into one.: -
>>> for (i, j) in (zip(range(2), range(3))):
print i, j
0 0
1 1
>>>
zip converts your lists into list of tuples with 2 elements in the above case, as you are zipping 2 lists.
>>> zip(range(2), range(3))
[(0, 0), (1, 1)]
Similarly, if you zip three lists, you will get list of 3-elements tuple.