Skip to content

Tuples

Tuples are immutable ordered collections

1
2
3
empty_tuple = tuple()
print(empty_tuple)
print(type(empty_tuple))
()

<class 'tuple'>
1
2
3
numbers = tuple([1, 2, 3, 4, 5, 6])
print(numbers)
print(type(numbers))
(1, 2, 3, 4, 5, 6)

<class 'tuple'>
1
2
3
list_of_numbers = list((1, 2, 3, 4, 5, 6))
print(list_of_numbers)
print(type(list_of_numbers))
[1, 2, 3, 4, 5, 6]

<class 'list'>
mixed_tuple = (1, "two", 3.0, [4, 5], (6, 7), True)
print(mixed_tuple)
(1, 'two', 3.0, [4, 5], (6, 7), True)

Accessing tuple elements

numbers = tuple([1, 2, 3, 4, 5, 6])
numbers[0]
1
numbers[-1]
6
numbers[0:4]
(1, 2, 3, 4)
numbers[::-1]
(6, 5, 4, 3, 2, 1)
1
2
3
4
numbers = tuple([1, 2, 3, 4, 5, 6])
mixed_tuple = (1, "two", 3.0, [4, 5], (6, 7), True)

numbers + mixed_tuple
(1, 2, 3, 4, 5, 6, 1, 'two', 3.0, [4, 5], (6, 7), True)
numbers * 3
(1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6)

Tuple methods

numbers = tuple([1, 2, 3, 4, 5, 6])
numbers.count(3)
1
numbers.index(4)  # First index of the value
3
1
2
3
print("Packing a tuple")
packed_tuple = 1, "Hello", 3.14
packed_tuple
Packing a tuple
(1, 'Hello', 3.14)
1
2
3
print("unpacking a tuple")
a, b, c = packed_tuple
print(a, b, c)
unpacking a tuple

1 Hello 3.14
1
2
3
print("Unpacking with *")
first, *middle, last = packed_tuple
print(first, middle, last)
Unpacking with *

1 ['Hello'] 3.14