Python - кортежи
Кортеж - это последовательность неизменяемых объектов Python. Кортежи - это последовательности, как и списки. Различия между кортежами и списками заключаются в том, что кортежи нельзя изменить, в отличие от списков и кортежей, в которых используются круглые скобки, тогда как в списках используются квадратные скобки.
Создать кортеж так же просто, как ввести разные значения, разделенные запятыми. При желании вы также можете поместить эти значения, разделенные запятыми, в круглые скобки. Например -
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
Пустой кортеж записывается в виде двух круглых скобок, ничего не содержащих:
tup1 = ();
Чтобы записать кортеж, содержащий одно значение, вы должны включить запятую, даже если есть только одно значение -
tup1 = (50,);
Как и строковые индексы, индексы кортежей начинаются с 0, и их можно разрезать, объединять и т. Д.
Доступ к значениям в кортежах
Чтобы получить доступ к значениям в кортеже, используйте квадратные скобки для сечения вместе с индексом или индексами, чтобы получить значение, доступное по этому индексу. Например -
#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
Когда приведенный выше код выполняется, он дает следующий результат:
tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]
Обновление кортежей
Кортежи неизменяемы, что означает, что вы не можете обновлять или изменять значения элементов кортежа. Вы можете использовать части существующих кортежей для создания новых кортежей, как показано в следующем примере:
#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;
Когда приведенный выше код выполняется, он дает следующий результат:
(12, 34.56, 'abc', 'xyz')
Удалить элементы кортежа
Удаление отдельных элементов кортежа невозможно. Конечно, нет ничего плохого в том, чтобы собрать еще один кортеж с отброшенными нежелательными элементами.
Чтобы явно удалить весь кортеж, просто используйте delзаявление. Например -
#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;
Это дает следующий результат. Обратите внимание на возникшее исключение, потому что послеdel tup кортеж больше не существует -
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
Основные операции с кортежами
Кортежи реагируют на операторы + и * подобно строкам; они также означают конкатенацию и повторение, за исключением того, что результатом является новый кортеж, а не строка.
Фактически, кортежи реагируют на все общие операции с последовательностью, которые мы использовали для строк в предыдущей главе -
Выражение Python | Полученные результаты | Описание |
---|---|---|
len ((1, 2, 3)) | 3 | Длина |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Конкатенация |
('Привет!',) * 4 | («Привет!», «Привет!», «Привет!», «Привет!») | Повторение |
3 в (1, 2, 3) | Правда | Членство |
для x в (1, 2, 3): выведите x, | 1 2 3 | Итерация |