Что такое Tuple в Python?
Кортеж подобен списку последовательности неизменяемых объектов Python. Разница между списком и кортежем заключается в том, что список объявляется в квадратных скобках и может быть изменен, в то время как кортеж объявлен в скобках и не может быть изменен. Тем не менее, вы можете взять части существующих кортежей для создания новых кортежей.
Синтаксис кортежей
Tup = ('Jan','feb','march')
Чтобы написать пустой кортеж, вам нужно написать в виде двух скобок, не содержащих ничего.
tup1 = ();
Для написания кортежа для одного значения вам нужно включить запятую, даже если есть одно значение. Также в конце нужно написать точку с запятой, как показано ниже.
Tup1 = (50,);
Индексы кортежей начинаются с 0, и их можно объединять, разрезать и так далее.
В этом уроке мы узнаем
- Упаковка и распаковка
- Сравнение кортежей
- Использование кортежей в качестве ключей в словарях
- Удаление кортежей
- Нарезка кортежей
- Встроенные функции с Tuple
- Преимущества кортежа над списком
Назначение кортежа
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] в кортеже, а для кортежа 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)
Сравнение кортежей
Оператор сравнения в Python может работать с кортежами.
Сравнение начинается с первого элемента каждого кортежа. Если они не сравниваются с =, <или>, то переходят ко второму элементу и так далее.
Он начинается со сравнения первого элемента каждого из кортежей
Давайте изучим это на примере
#Дело 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")
Случай 1: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5> 1, поэтому выход a больше
Случай 2: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5> 5, что является неубедительным. Итак, переходим к следующему элементу. 6> 4, поэтому выход а больше
Случай 3: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5> 6, что неверно. Таким образом, он входит в блок else и печатает «b больше».
Использование кортежей в качестве ключей в словарях
Поскольку кортежи могут быть хэшируемыми, а list — нет, мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре.
Пример : мы столкнемся с составным ключом, если нам понадобится создать телефонный справочник, который сопоставляет имя, фамилию, пары телефонных номеров и т. Д. Предполагая, что мы объявили переменные в качестве последнего и первого номера, мы могли бы напишите выражение для словаря, как показано ниже:
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]
Встроенные функции с Tuple
Для выполнения различных задач tuple позволяет использовать множество встроенных функций, таких как all (), any (), enumerate (), max (), min (), sorted (), len (), tuple () и т. Д.
Преимущества кортежа над списком
- Итерация по кортежу быстрее, чем со списком, так как кортежи неизменны.
- Кортежи, состоящие из неизменяемых элементов, могут использоваться в качестве ключа для словаря, что невозможно со списком
- Если у вас есть данные, которые являются неизменяемыми, реализация их как кортежа гарантирует, что они остаются защищенными от записи
Резюме :
Python имеет функцию назначения кортежей, которая позволяет вам назначать более одной переменной одновременно.
-
Упаковка и распаковка кортежей
- При упаковке мы помещаем значение в новый кортеж, а при распаковке мы извлекаем эти значения обратно в переменные.
- Оператор сравнения в Python может работать с кортежами.
-
Использование кортежей в качестве ключей в словарях
- Кортежи могут быть хэшируемыми, а список — нет
- Мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре
- Словарь может возвращать список кортежей, вызывая элементы, где каждый кортеж является парой ключ-значение
- Кортежи являются неизменяемыми и не могут быть удалены. Вы не можете удалять или удалять элементы из кортежа. Но полностью удалить кортеж можно с помощью ключевого слова «del»
- Чтобы извлечь определенные наборы подэлементов из кортежа или списка, мы используем эту уникальную функцию, называемую нарезкой