Python TUPLE – Опаковане, Разопаковане, Сравняване, Нарязване, Изтриване, Ключ
В какво е Tuple Matching Python?
Tuple Съвпадение в 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
- Стартирайте кода - Той дава име 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")
#случай 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 Код за всички горни примери
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() и др.
Предимства на кортежа пред списъка
- Итерирането чрез кортеж е по-бързо, отколкото със списък, тъй като кортежите са неизменни.
- Кортежи, които се състоят от неизменни елементи, могат да се използват като ключ за речник, което не е възможно със списък
- Ако имате данни, които са неизменни, прилагането им като кортеж ще гарантира, че те остават защитени от запис
Oбобщение
Python има функция за присвояване на кортежи, която ви позволява да присвоявате повече от една променлива наведнъж.
- Опаковане и разопаковане на кортежи
- При опаковане поставяме стойност в нов кортеж, докато при разопаковане извличаме тези стойности обратно в променливи.
- A оператор за сравнение в Python може да работи с кортежи.
- Използване на кортежи като ключове в речниците
- Кортежите са хешируеми, а списъците не са
- Трябва да използваме tuple като ключ, ако трябва да създадем съставен ключ, който да използваме в речник
- Речникът може да върне списъка с кортежи чрез извикване на елементи, където всеки кортеж е двойка ключ-стойност
- Кортежите са неизменни и не могат да бъдат изтрити. Не можете да изтривате или премахвате елементи от кортеж. Но пълното изтриване на кортеж е възможно с помощта на ключовата дума „del“
- За да извлечем конкретни набори от поделементи от кортеж или списък, ние използваме тази уникална функция, наречена нарязване