Python TUPLE – Опаковане, Разопаковане, Сравняване, Нарязване, Изтриване, Ключ
⚡ Умно обобщение
Python Кортежът е подредена, непроменима колекция от стойности, записани в скоби. Примерите по-долу обхващат пакетиране и разопаковане на кортежи, сравняване на кортежи, използване на кортежи като ключове на речника, изтриване, нарязване и предимствата на кортежите пред списъците.

В какво е Tuple Matching Python?
Tuple Съвпадение в Python е метод на групиранеping кортежите чрез съпоставяне с втория елемент в кортежите. Това се постига чрез използване на речник чрез проверка на втория елемент във всеки кортеж в програмирането на 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
- Стартирайте кода - Той дава име Robert за първия кортеж, докато за втория кортеж дава номер (2,3 и 4)
Опаковане и разопаковане
При опаковането, ние поставяме стойност в нов кортеж, докато при разопаковането ниеtracтези стойности обратно в променливи.
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
Нарязване на Tuple
За да извлечем конкретни набори от поделементи от кортеж или списък, ние използваме тази уникална функция, наречена нарязване. Нарязването е приложимо не само за кортеж, но и за масив и списък.
x = ("a", "b","c", "d", "e")
print(x[2:4])
Резултатът от този код ще бъде ('c', 'd').
Тук е Python 2 Code за всички горепосочени примери
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() и др.
Предимства на кортежа пред списъка
- Итерирането чрез кортеж е по-бързо, отколкото със списък, тъй като кортежите са неизменни.
- Кортежи, които се състоят от неизменни елементи, могат да се използват като ключ за речник, което не е възможно със списък
- Ако имате данни, които са неизменни, прилагането им като кортеж ще гарантира, че те остават защитени от запис
