Что такое 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»
- Чтобы извлечь определенные наборы подэлементов из кортежа или списка, мы используем эту уникальную функцию, называемую нарезкой