Python: What's the Difference Between Tuple and List?
Perm URL with updates: http://xahlee.org/perl-python/python_tuple_vs_list.html
So, what's the difference between tuple and list?
Answer: Both can contain mixed datatypes. Both can be arbitrarily nested. The only difference, is that a tuple cannot be changed.
# python # list and tuple can contain mixed datatypes, and arbitrarily nested. my_list = [3, "4", [11, "12"], ("a", 2), 5] my_tuple = (3, "4", [11, "12"], ("a", 2), 5) print my_list print my_tuple
# python # tuple cannot be changed my_list = [3, 4, 5] my_tuple = (3, 4, 5) my_list = 9 my_tuple = 9 # TypeError: 'tuple' object does not support item assignment print my_list print my_tuple
So, in practice, if you need a list but the elements or length never needs to change, then, use tuple, else, list.
There are a slew of tech geekers online who'll tell you that tuple is “heterogeneous” and list is “homogeneous”, or that tuple has identity, or that tuple has semantic meaning. They are the type that like to draw legs on a snake.