A tuple is an immutable list. Immutable means that it cannot be modified. A tuple is written as a comma-separated sequence of objects (a list without brackets). To increase readability, you often enclose a tuple in a pair of parentheses:
my_tuple = 1, 2, 3 # our first tuple my_tuple = (1, 2, 3) # the same my_tuple = 1, 2, 3, # again the same len(my_tuple) # 3, same as for lists my_tuple[0] = 'a' # error! tuples are immutable
Omitting parentheses can have side effects; see the following example:
1, 2 == 3, 4 # returns (1, False, 4) (1, 2) == (3, 4) # returns False
The comma indicates that the object is a tuple:
singleton = 1, # note the comma len(singleton) # 1
singleton = (1,) # this creates the same tuple
Tuples are useful when a group of values goes together; for example, they are used to return multiple values from functions. See Section 7.3: Return values.