Skip to content

Tuple

An ordered immutable collection of elements.

Create

Action Code Details
Empty tuple
()
Define with single element
(1,)
Comma is important
Define with multiple elements
(1, 2, 3)
Define with elements via multiple assignment
x = 1, 2, 3
From iterator
tuple(a)
From iterator by unpacking
(*a,)
From comprehension
tuple(v * 2 for v in a)

Test

Action Code Details
Empty
not x
Not empty
x
Contains value v
v in x
Contains duplicate values
len(v) != len(set(v))
Does not contain value v
v not in x
All elements are True
all(x)
Any element is True
any(x)
No elements are True
not any(x)

Extract

Action Code Details
Length
len(x)
Hash
hash(x)
Value at index i (_i_th value)
x[i]
Value from end index j
x[-j]
Count occurrences of value v
x.count(v)
First index of value v
x.index(v)
Error if missing
First index of value v between index range [ n, m ]
x.index(v, n, m)
Error if missing in range

Aggregate

Action Code Details
Sum elements
sum(x)
Min of elements
min(x)
Max of elements
max(x)

Update

Although tuples are immutable, it's possible to update the tuple stored in a variable in-place

Grow

Action Code Details
Append element
x += (1,)
Append elements
x += (1, 2)

Combine

Action Code Details
Append tuple y
x += y
Append elements of list y
x += tuple(y)

Derive

Order

Action Code Details
Reverse
x[::-1]
Reverse
tuple(reversed(x))
Much slower in all cases
Sort ascendingly
tuple(sorted(x))
Shuffle
tuple(random.sample(x, k=len(x)))

Grow

Action Code Details
Replicate elements n times
x * n

Shrink

Action Code Details
Slice between [ n, m ] (subset)
x[n:m]
First n elements
x[:n]
Last n elements
x[-n:]

Combine

Action Code Details
Concatenate tuples
x + y + z

Convert

Action Code Details
Multiple assignment
a, b = x
Number of variables must match tuple length
Comma-separated string
str(x)
List
list(x)
List
[*x]
Set
set(x)
Set
{*x}