One thing to keep in mind is that a tuple is immutable. This means that once it’s created, you can’t modify it in-place. A list, on the other hand, is mutable — meaning you can add elements, remove elements, and change elements in-place. A list has extra overhead, so only use a list if you need to modify the values.
You can create a list of tuples:
>>> list_of_tuples = [(1,2),(3,4)] >>> list_of_tuples [(1, 2), (3, 4)]
or a list of lists:
>>> list_of_lists = [[1, 2], [3, 4]] >>> list_of_lists [[1, 2], [3, 4]]
The difference is that you can modify the elements in the list of lists:
>>> list_of_lists[0][0] = 7 >>> list_of_lists [[7, 2], [3, 4]]
but not with the list of tuples:
>>> list_of_tuples[0][0] = 7 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
To iterate over a list of tuples:
>>> for (x,y) in list_of_tuples: ... print x,y ... 1 2 3 4