Кортеж представляет собой последовательность из неизменных объектов в Python. Кортежи это последовательности, такие же, как и списки. Основное отличие между кортежами и списками является то, что кортежи не могут быть изменены в отличии от списков. Кортеж использует круглые скобки, в то время как списки используют квадратные скобки.
Создание кортежа просто, необходимо установить различные значения, разделенные запятой. По желанию, вы можете поместить эти значения, разделенные запятыми в скобках. Например:
tup1 = ('andreyex', 'chemistry', 2017, 2010)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
Пустой кортеж записывается в виде двух круглых скобок, ничего не содержащих:
tup1 = ();
Для того, чтобы написать кортеж, содержащий одно значение, вы должны включить запятую, даже если есть только одно значение:
tup1 = (50,)
Как строковые индексы, индексы кортежей начинаются с 0, их можно вырезать, объединять, и так далее.
Доступ к значениям в кортежах
Чтобы получить доступ к значениям в кортеже, это использования квадратных скобок вместе с индексом или индексами, чтобы получить значение находящегося по этому индексу. Например:
#!/usr/bin/python3
tup1 = ('andreyex', 'chemistry', 2017, 2010)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
Когда этот код выполниться, он выдаст следующий результат:
tup1[0]: andreyex
tup2[1:5]: (2, 3, 4, 5)
Обновление кортежей
Кортежи неизменны, что означает, что вы не можете обновить или изменить значение элементов кортежа. Вы можете взять части существующих кортежей для создания новых кортежей, как показано в следующем примере:
#!/usr/bin/python3
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# Следующее действие не является допустимым для кортежей
# tup1[0] = 100;
# Давайте создадим новый кортеж следующим образом
tup3 = tup1 + tup2
print (tup3)
Когда этот код выполниться, он выдаст следующий результат:
(12, 34.56, 'abc', 'xyz')
Удаление элементов в кортеже
Удаление отдельных элементов в кортежей не представляется возможным. Кортеж с нежелательными элементами отбрасывается.
Чтобы явно удалить весь кортеж, просто используйте заявление del. Например:
#!/usr/bin/python3
tup = ('andreyex', 'chemistry', 2017, 2010);
print (tup)
del tup;
print "После удаления tup : "
print tup
Это приводит к следующему результату:
Примечание:
Вызвало исключение. Это происходит потому, что после того, как запустилась команда del tup на выполнение, кортеж не существовал.
('andreyex', 'chemistry', 2017, 2010)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
Основные операции с кортежами
Кортеж реагирует на операторы + и *, строки; с ними производят конкатенацию и повторение, за исключением того, что результатом является новый кортеж, а не строка.
На самом деле, кортежи реагируют на все основные операции последовательности, которые мы использовали на строки в предыдущей главе.
Выражение в Python | Результаты | Описание |
---|
а ((1, 2, 3)) | 3 | длина |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | конкатенация |
( ‘Привет!’,) * 4 | ( ‘Привет!’, ‘Привет!’, ‘Привет!’, ‘Привет!’) | Повторение |
3 в (1, 2, 3) | true | членство |
for x in (1,2,3) : print (x, end = ‘ ‘) | 1 2 3 | итерация |
Индексация, нарезка, и матрицы
Так как кортежи являются последовательностями, индексирование и нарезка работает точно так же для кортежей, как они делают для строк, предполагая, что следующий вход:
T=('C++', 'Java', 'Python')
Выражение в Python | Результаты | Описание |
---|
T [2] | ‘Python’ | Смещение начинаются с нуля |
Т [-2] | ‘Java’ | Отрицательный: отсчет с правой стороны |
T [1:] | ( ‘Java’, ‘Python’) | Нарезка выбирает разделы |
Нет ограждающих разделителей
Нет ограждающих разделителей, это не любой набор из нескольких объектов, разделенных запятыми, написанные без идентифицирующих символов, то есть, скобки для списков, скобки для кортежей и т.д., по умолчанию для кортежей, как указано в этих коротких примерах.
Встроенные функции кортежа
Python включает в себя следующие функции кортежей:
S.No. | Описание функции |
---|
1 | cmp(tuple1, tuple2) – Сравнивает элементы обоих кортежей. |
2 | len(tuple) – Дает общую длину кортежа. |
3 | max(tuple) – Возвращает элемент из кортежа с максимальным значением. |
4 | min(tuple) – Возвращает элемент из кортежа с минимальным значением. |
5 | tuple(seq) – Преобразование списка в кортеж. |
Комментарии: