От автора: что такое кортеж в Python? Кортеж Python подобен списку — это последовательность неизменяемых объектов. Разница между списком и кортежем заключается в том, что список объявляется в квадратных скобках и может быть изменен, в то время как кортеж объявляется в скобках и не может быть изменен. Однако вы можете взять части существующих кортежей для создания новых кортежей.
Синтаксис кортежей
Tup = ('Jan','feb','march')
Чтобы написать пустой кортеж, вам нужно указать две скобки, не содержащих ничего.
tup1 = ();
Для написания кортежа для одного значения вам необходимо включить запятую, даже если в нем есть только одно значение. Также в конце нужно добавить точку с запятой, как показано ниже.
Tup1 = (50,);
Индексы кортежей начинаются с 0, и их можно объединять, разделять и так далее.
В этом руководстве мы рассмотрим:
Упаковку и распаковку кортежей
Сравнение кортежей
Использование кортежей в качестве ключей в словарях
Удаление кортежей
Разделение кортежей
Встроенные функции кортежей
Преимущества кортежа над списком
Назначение кортежа
В Python есть функция назначения кортежей, которая позволяет назначать более одной переменной одновременно. Здесь мы присвоили кортежу 1 информацию о лицах, такую как имя, фамилию, год рождения и т. д., и мы создали еще один кортеж 2 со значениями в нем, например, числа (1,2,3,…., 7).
Например: (имя, фамилия, год рождения, любимый фильм и год, профессия, место рождения) = Роберт
Вот код:
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print(tup1[0]) print(tup2[1:4])
Кортеж 1 включает в себя список данных Роберта
Кортеж 2 включает в себя список чисел
Мы вызываем значение [0] для кортежа 1, а для кортежа 2 мы вызываем значения от 1 до 4
Запустите код — он дает имя Robert для первого кортежа, в то время как для второго кортежа он дает числа (2,3 и 4)
Упаковка и распаковка
При упаковке мы помещаем значение в новый кортеж, а при распаковке мы извлекаем эти значения обратно в переменные.
x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print(company) print(emp) print(profile)
Сравнение кортежей
Сравнение начинается с первого элемента каждого кортежа, если они равны сравнение продолжается по следующим элементам. Давайте рассмотрим это на примере:
#случай 1
a=(5,6) b=(1,4) if (a>b):print("a is bigger") else: print("b is bigger")
#случай 2
a=(5,6) b=(5,4) if (a>b):print("a is bigger") else: print ("b is bigger")
#случай 3
a=(5,6) b=(6,4) if (a>b):print("a is bigger") else: print("b is bigger")
Случай 1: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5> 1, поэтому вывод «a is bigger».
Случай 2: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5>5 является неопределимым. Итак, переходим к следующему элементу. 6>4, поэтому вывод «a is bigger».
Случай 3: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5>6 ложно. Таким образом, вывод » b is bigger».
Использование кортежей в качестве ключей в словарях
Поскольку кортежи являются хешируемыми, а список — нет, мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре.
Пример: мы столкнемся с составным ключом, если нам понадобится создать телефонный справочник, который сопоставляет, имя, фамилию, пары телефонных номеров и т. д. Предполагая, что мы объявили переменные как последнее и первое число, мы могли бы написать выражение для словаря, как показано ниже:
directory[last,first] = number
Внутри скобок выражение является кортежем. Мы могли бы использовать присваивание кортежей в цикле for для прохождения по этому словарю.
for last, first in directory: print first, last, directory[last, first]
Этот цикл проходит ключи в каталоге, которые являются кортежами. Он присваивает элементам каждого кортежа последнее и первое число, а затем выводит имя и соответствующий номер телефона.
Кортежи и словарь
Словарь может возвращать список кортежей, вызывая элементы, где каждый кортеж является парой ключ-значение.
a = {'x':100, 'y':200} b = list(a.items()) print(b)
Удаление кортежей
Кортежи являются неизменяемыми и не могут быть удалены, но полностью удалить кортеж можно с помощью ключевого слова «del».
Разделение кортежей
Чтобы извлечь определенные наборы подэлементов из кортежа или списка, мы используем эту уникальную функцию, называемую нарезкой. Нарезка применима не только к кортежу, но и к массиву и списку.
x = ("a", "b","c", "d", "e") print(x[2:4])
Вывод этого кода будет (‘c’, ‘d’).
Вот код Python 2 для всех приведенных выше примеров:
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print tup1[0] print tup2[1:4] #Packing and Unpacking x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print company print emp print profile #Comparing tuples #case 1 a=(5,6) b=(1,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 2 a=(5,6) b=(5,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 3 a=(5,6) b=(6,4) if (a>b):print "a is bigger" else: print "b is bigger" #Tuples and dictionary a = {'x':100, 'y':200} b = a.items() print b #Slicing of Tuple x = ("a", "b","c", "d", "e") print x[2:4]
Встроенные функции кортежей
Для выполнения различных задач кортеж позволяет использовать множество встроенных функций, таких как all(), any(), enumerate(), max(), min(), sorted(), len(), tuple() и т. д.
Преимущества кортежа над списком
Итерация по кортежу быстрее, чем по списку, так как кортежи неизменны.
Кортежи, состоящие из неизменяемых элементов, могут использоваться в качестве ключа для словаря, что невозможно со списком
Если у вас есть данные, которые являются неизменяемыми, реализация их как кортежа гарантирует, что они остаются защищенными от записи
Заключение
В Python есть функция назначения кортежей, которая позволяет вам назначать более одной переменной одновременно.
Упаковка и распаковка кортежей
При упаковке мы помещаем значение в новый кортеж, а при распаковке мы извлекаем это значение обратно в переменную.
Оператор сравнения в Python может работать с кортежами.
Использование кортежей в качестве ключей в словарях:
Кортежи могут быть хэшируемыми, а список — нет
Мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре
Словарь может возвращать список кортежей, вызывая элементы, где каждый кортеж является парой ключ-значение
Кортежи являются неизменяемыми и не могут быть удалены, но полностью удалить кортеж можно с помощью ключевого слова «del».
Чтобы извлечь определенные наборы подэлементов из кортежа или списка, мы используем уникальную функцию, называемую нарезкой
Источник: https://www.guru99.com
Редакция: Команда webformyself.