An ordered collection or grouping of items
- It’s immutable!!
- Makes your code more safe because you can exist it to not change
- Tuples are faster than lists!
- Can use tuples as valid keys in a dictionary
- Data in tuple doesn’t have to be unique
nums = (1,2,3,4,3)
3 in nums # True
# Can access just like a list
nums[0] # 1
# CANNOT reassign elements
nums[0] = 7 # Error
# Using tuples as keys
locations = {
(30,120):"house",
(48.6, 92.5):"company"
}
# nested tuples
x = (1,2,3,(4,5),6)
Tuple looping
# same as list
names = ("colt", "blue")
for name in names:
print(name)
Methods
- count, index, slicing
# count: Number of times a value appears in tuple
x = (1,2,3,3,3,3,4)
x.count(2) # 1
x.count(3) # 4
# index: the index at which a value is found
x.index(2) # 1
x.index(3) # 2
x.index(3,3) # 3
# slices
x[-1] # 4
Notes
num = (range(0,3))
print(num) #range(0, 3)
num = tuple(range(0,3)) # MAKE SURE TO ADD THE KEYWORD 'TUPLE'
print(num) #(0,1,2)
num = tuple(num**2 if num % 2 == 0 else num + 1 for num in range(0,5))
print(num) # (0, 2, 4, 4, 16)
"""Single element tuple"""
num = (1)
type(num) #int
num = tuple(1) # GIVES ERROR
num = (1,) # adds comma to distinguish it from the regular expression
"""list to tuple"""
a = [1,2,3]
tuple(a) # (1,2,3)