Перейти до змісту

Кортежі

Кортеж — немутабельна впорядкована послідовність

Зазвичай кортежі використовуються для зберігання різнотипних даних (або однотипних, але які логічно представляють різні сутності).

Кортежі представлені класом tuple. Кортежі підтримуєть усі загальні для усіх послідовностей операції.

Створення кортежів:

спосіб приклад
перераховування елементів в круглих дужках, якщо елемент один, після нього ставиться кома (1,)
перераховування елементів через кому 1, 2, 'some string'
порожній кортеж ()
використання конструктора класа tuple(range(8))

Розпаковування кортежів

Змінні, які об'єднано в кортеж, можуть стояти ліворуч операції присвоєння. Тоді їм присвоюються відповідні значення ітерабельного об'єкта.

>>> a, b, c = 1, 2, 3
>>> a
1
>>> b
2
>>> c
3
>>>

Поміняти місцями значення двох змінних:

>>> a, b = 7, 15
>>> a, b = b, a
>>> a
15
>>> b
7
>>>

Використовуючи спеціальний синтаксис — змінна, перед якою стоїть зірочка, — можна в цю змінну "запакувати" у вигляді списка "зайві" значення:

>>> a, b, *rest = range(10)
>>> a
0
>>> b
1
>>> rest
[2, 3, 4, 5, 6, 7, 8, 9]
>>>
>>> first, *middle, last = range(10)
>>> first
0
>>> last
9
>>> middle
[1, 2, 3, 4, 5, 6, 7, 8]
>>>

Змінні, які об'єднано в кортеж, також можуть стояти в заголовку цикла for. Створимо список кортежів кожен з двох елементів:

>>> tuples = [(x, y) for x in range(3) for y in range(3)]
>>> tuples
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
>>> for x, y in tuples:
...     print(x, y)
...
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
>>>
Back to top