Python Language Tuple

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

A tuple is a immutable sequence type that contains zero or more elements and whose elements can be of different types. Once a tuple is defined, you can't add, delete or change items. A tuple is similar to a constant list, and could be used instead of a list, if we can afford the "list" to be immutable. Naturally, the list's mutating functions append(), insert() do not exist on tuples. There are several advantages of using a tuple instead of a list: a tuple uses less space than a list and they cannot be mutated by mistake. Positional function arguments can be grouped together and provided as a tuple in the function body (*args).

Declaration

A tuple is declared by specifying commas after each of its elements, with the exception of the empty tuple, that uses ():

empty_tuple = ()
one_element_tuple = 1, # the trailing comma is mandatory
two_element_tuple = 1,2,  # for two or more elements, the trailing comma is optional

For aesthetic reasons, and also to make the tuple more visible, the comma-driven declaration can be enclosed in optional parentheses:

empty_tuple = ()
one_element_tuple = (1,) # the trailing comma is mandatory
two_element_tuple = (1,2,) # for two or more elements, the trailing comma is optional

Conversion from other Data Structures

Tuple Unpacking

Exchanging Variable Values

Tuples can be used to exchange to variable values without using a third temporary variable.

Named Tuples

Named tuples can be a simple alternative to objects.