Home / Definitions / Tuple

Tuple

Kirsty Moreland
Last Updated February 2, 2024 2:50 am

A tuple is a finite ordered list of elements. Tuples are written by listing comma-separated elements within parentheses. Similar to lists, they are sequences. The main difference between tuples and lists is that tuples cannot be changed once assigned, whereas lists can. Tuples are occasionally written with square or angle brackets.

Most typed functional programming languages such as Lisp, Python, and Linda use tuples as product types. Uses for the tuple as a data type include passing a string of parameters from one program to another and representing a set of value attributes in a relational database. In some languages, tuples are embedded within other tuples within parentheses or brackets.

Some programming languages offer an alternative to tuples known as record types, which feature unordered elements accessed by label. Languages such as Haskell combine tuple product types and unordered record types into a single construct.

Python tuple

In Python, lists and tuples are two of the most commonly used data structures. In addition to the aforementioned difference of being changeable, other differences include:

  • Iterating over elements of a tuple is faster compared to iterating over a list.
  • In Python, elements of a tuple are enclosed in parentheses whereas elements of list are enclosed in square brackets.
  • If data needs to remain unchanged over time, a tuple is the preferred data type. If data may need to be changed in the future, a list should be used.

Python tuple example

A tuple can have any number of items that are of different types such as integer, float, and string. Here’s an example of a tuple in Python:

Program to run in Python:

# Different types of tuples

# Empty tuple
my_tuple = ()
print(my_tuple)

# Tuple having integers
my_tuple = (1, 2, 3)
print(my_tuple)

# tuple with mixed datatypes
my_tuple = (1, "Hello", 3.4)
print(my_tuple)

# nested tuple
my_tuple = ("mouse", [8, 4, 6], (1, 2, 3))
print(my_tuple)

Output:

()
(1, 2, 3)
(1, 'Hello', 3.4)
('mouse', [8, 4, 6], (1, 2, 3))