Python TUPLE – упаковка, распаковка, сравнение, нарезка, удаление, ключ.
Что такое сопоставление кортежей Python?
Сопоставление кортежей в 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] в кортеже, а для кортежа 2 мы вызываем значение от 1 до 4.
- Запустите код. Для первого кортежа он дает имя Роберт, а для второго кортежа - номер (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")
#Дело 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 больше
Дело 2: Сравнение начинается с первого элемента каждого кортежа. В данном случае 5>5, что неубедительно. Итак, переходим к следующему элементу. 6>4, поэтому выход a больше
Дело 3: Сравнение начинается с первого элемента каждого кортежа. В данном случае 5>6, что неверно. Поэтому он переходит в блок else и печатает «b больше».
Использование кортежей в качестве ключей в словарях
Поскольку кортежи хешируются, а список — нет, мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре.
Пример: Мы встретимся с составным ключом, если нам нужно создать телефонный справочник, который сопоставляет имя, фамилию, пары телефонных номеров и т. д. Предполагая, что мы объявили переменные как последний и первый номер, мы могли бы написать оператор присваивания словаря, как показано ниже:
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
Для выполнения различных задач кортеж позволяет использовать множество встроенных функций, таких как all(), Any(), enumerate(), max(), min(), sorted(), len(), tuple() и т. д.
Преимущества кортежа перед списком
- Перебор кортежа выполняется быстрее, чем по списку, поскольку кортежи неизменяемы.
- Кортежи, состоящие из неизменяемых элементов, могут использоваться в качестве ключа для словаря, что невозможно со списком.
- Если у вас есть неизменяемые данные, реализация их в виде кортежа гарантирует, что они останутся защищенными от записи.
Резюме
Python имеет функцию назначения кортежей, которая позволяет назначать более одной переменной одновременно.
- Упаковка и распаковка кортежей
- При упаковке мы помещаем значение в новый кортеж, а при распаковке извлекаем эти значения обратно в переменные.
- A оператор сравнения в Python может работать с кортежами.
- Использование кортежей в качестве ключей в словарях
- Кортежи хешируются, а списки — нет.
- Мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре.
- Словарь может возвращать список кортежей, вызывая элементы, где каждый кортеж представляет собой пару ключ-значение.
- Кортежи неизменяемы и не могут быть удалены. Вы не можете удалять или удалять элементы из кортежа. Но полное удаление кортежа возможно с помощью ключевого слова «del».
- Чтобы получить определенные наборы подэлементов из кортежа или списка, мы используем эту уникальную функцию, называемую нарезкой.