DEV Community

loading...

Charming the Python: Tuples

Vicki (she/her)
Vicki was once a manager of aircraft maintenance and is now charming Python. She coded #VetsWhoCode bot & Code Questions bot. When Vicki isn't petting her cat, she’s throwing a ball for her dogs.
Updated on ・2 min read

If coding tutorials with math examples are the bane of your existence, keep reading. This series uses relatable examples like dogs and cats.


Tuples

A tuple can be a collection of multiple data types. Tuples are ordered and immutable. Immutable means unchangeable or unmodifiable.

Creating

# empty tuple to show syntax
empty_tuple = ()

# A not empty tuple
dogs = ('chihuahua', 'golden retriever', 'german shepherd', 'mutt')
Enter fullscreen mode Exit fullscreen mode

Accessing Items

You can access items in a tuple similar to accessing characters in a string.

chihuahua golden retriever german shepherd mutt
0 1 2 3
-4 -3 -2 -1
dogs = ('chihuahua', 'golden retriever', 'german shepherd', 'mutt')

print(dogs[1])
>>> golden retreiver

print(dogs[-2])
>>> german shepherd
Enter fullscreen mode Exit fullscreen mode

Slicing

dogs = ('chihuahua', 'golden retriever', 'german shepherd', 'mutt')

print(dogs[1:2])  # will print index 1 to 2
>>> golden retriever, german shepherd

print(dogs[-3:-1])  # will print index -3 up to but not including -1
>>> golden retriever, german shepherd
Enter fullscreen mode Exit fullscreen mode

Casting to a List

Tuples are immutable/not-changeable, while lists are mutable/changeable.
In order to update the contents of a tuple, you may change a tuple into a list. This is call casting into a list.

dogs = ('chihuahua', 'golden retriever', 'german shepherd', 'mutt')

dogs_list = list(dogs)
Enter fullscreen mode Exit fullscreen mode

After making adjustments to your new lest, don't forget to change it back to a tuple.

dogs_list = ['chihuahua', 'golden retriever', 'german shepherd', 'mutt']

dogs = tuple(dogs_list)
Enter fullscreen mode Exit fullscreen mode

Joining

dogs = ('chihuahua', 'golden retriever', 'german shepherd', 'mutt')

cats = ('domestic shorthair', 'persian', 'siamese')

pets = dogs + cats
print(pets)
>>> chihuahua, golden retriever, german shepherd, mutt, domestic shorthair, Persian, siamese
Enter fullscreen mode Exit fullscreen mode

Deleting

Because tuples are immutable, you cannot delete single items in a tuple. However, you can delete a whole tuple

dogs = ('chihuahua', 'golden retriever', 'german shepherd', 'mutt')

del dogs
print(dogs)  # this will error because 'dogs' no longer exists
Enter fullscreen mode Exit fullscreen mode

Series based on

Discussion (0)