Python 3 - кортежи
Кортеж - это набор упорядоченных и неизменяемых объектов. Кортежи - это последовательности, как и списки. Основное различие между кортежами и списками состоит в том, что кортежи нельзя изменить, в отличие от списков. В кортежах используются круглые скобки, а в списках - квадратные скобки.
Создать кортеж так же просто, как ввести разные значения, разделенные запятыми. При желании вы также можете поместить эти значения, разделенные запятыми, в круглые скобки. Например -
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
Пустой кортеж записывается в виде двух круглых скобок, ничего не содержащих:
tup1 = ();
Чтобы записать кортеж, содержащий одно значение, вы должны включить запятую, даже если есть только одно значение -
tup1 = (50,)
Как и строковые индексы, индексы кортежей начинаются с 0, и их можно разрезать, объединять и т. Д.
Доступ к значениям в кортежах
Чтобы получить доступ к значениям в кортеже, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить значение, доступное для этого индекса. Например -
#!/usr/bin/python3
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/python3
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/python3
tup = ('physics', 'chemistry', 1997, 2000);
print (tup)
del tup;
print ("After deleting tup : ")
print (tup)
Это дает следующий результат.
Note- Возникло исключение. Это потому, что после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): print (x, end = '') | 1 2 3 | Итерация |
Индексирование, нарезка и матрицы
Поскольку кортежи являются последовательностями, индексация и нарезка работают для кортежей так же, как и для строк, предполагая следующий ввод:
T=('C++', 'Java', 'Python')
Выражение Python | Полученные результаты | Описание |
---|---|---|
Т [2] | 'Python' | Смещения начинаются с нуля |
Т [-2] | 'Ява' | Отрицательный: считайте справа |
Т [1:] | ("Java", "Python") | Нарезка извлекает разделы |
Без ограничивающих рамок
Никакие включающие разделители - это любой набор из нескольких объектов, разделенных запятыми, записанных без идентифицирующих символов, т.е. скобки для списков, круглые скобки для кортежей и т. Д., По умолчанию используются для кортежей, как указано в этих коротких примерах.
Встроенные функции кортежей
Python включает следующие функции кортежей -
Sr.No. | Описание функции |
---|---|
1 | cmp (кортеж1, кортеж2) Сравнивает элементы обоих кортежей. |
2 | len (кортеж) Дает общую длину кортежа. |
3 | макс (кортеж) Возвращает элемент из кортежа с максимальным значением. |
4 | min (кортеж) Возвращает элемент из кортежа с минимальным значением. |
5 | кортеж (последовательность) Преобразует список в кортеж. |