DEV Community

loading...

Python: What is a tuple?

adamlombard profile image Adam Lombard (he/him) ・1 min read

In Python, tuples are immutable data sequences. They are typically used to group related but heterogeneous values.

Say we have several pieces of information—in a variety of data types—that together describe a single work of art:

artist = "Louise Nevelson"
title = "Sky Gate, New York"
media = ["wood", "oil paint"]
completed = 1978
Enter fullscreen mode Exit fullscreen mode

It may be convenient to group these values together. Since the description of an artwork should never change during our program, an immutable tuple suits our needs perfectly:

artwork = (artist, title, media, completed)
Enter fullscreen mode Exit fullscreen mode

Elements in a tuple can be accessed by index:

>>> artwork[0]
'Louise Nevelson'
Enter fullscreen mode Exit fullscreen mode

But, since tuples are immutable, we cannot change elements by index:

>>> art_work[0] = "Ruth Asawa"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Enter fullscreen mode Exit fullscreen mode

For more information on tuples, see the Python docs.


Learn more about Louise Nevelson and Ruth Asawa.

Discussion (3)

Collapse
bezirganyan profile image
Grigor Bezirganyan

Also, One more interesting usage of tuples is that you can use them as a key for dictionaries. (Dictionaries only accept immutable data types as key)

d = {}
d[(obj1, obj2, obj3)] = value
Collapse
miniscruff profile image
miniscruff

I highly recommend using named tuples when grouping.

Forem Open with the Forem app