Основные особенности
- Кортежи — упорядоченные неизменяемые коллекции.
- Размер кортежа меньше, чем у списка из тех же элементов
- Неизменяемые объекты, включая кортежи, могут выступать ключами.
- Несколько значений, разделенных запятой также являются кортежами, несмотря на отсутствие скобок:
- неименованные аргументы функции (
func(1, 2)
) - несколько возвращаемых значений (
return 1, 2
) - присвоение нескольких значений (
a, b = 1, 2
) - операции обмена значениями (
a, b = b, a
)
- неименованные аргументы функции (
Создание кортежа
t = () # Литерал t = tuple() # Функция t = (1, 2, 3)
Обратите внимание, что иногда скобки — это просто математические скобки. Если вы создаете кортеж с одним элементом, то после значения должна стоять запятая.type((1)) # <class 'int'> type((1 + 1) # <class 'int'> type((1, )) # <class 'tuple'>
Операции с кортежами
Символ | Операция | Пример | Результат |
---|---|---|---|
+ | Конкатенация | (1, 2) + (3, 4) | (1, 2, 3, 4) |
* | Повторение | (1, 2) * 2 | (1, 2, 1, 2) |
in | Членство | 1 in (1, 2) | True |
is | Идентичность | (1, a := []) is (1, a) | False |
== | Равенство | (1, a := []) == (1, a) | True |
[x] | Взятие по индексу | (1, 2)[0] | 1 |
[x:y:z] | Срезы | (1, 2)[::-1] | (2, 1) |
Методы кортежей
Метод | Назначение |
---|---|
tuple.index(value, start=0, stop=-1) | Возвращает индекс первого элемента со значением value между start и stop , или ValueError , если значение не найдено. |
tuple.count(value) | Возвращает количество элементов со значением value |