Какво представлява съвпадението на Tuple в Python?
Tuple Matching в Python е метод за групиране на кортежите чрез съвпадение на втория елемент в кортежите. Това се постига чрез използване на речник чрез проверка на втория елемент във всеки кортеж в програмирането на python. Можем обаче да правим нови кортежи, като вземаме части от съществуващи кортежи.
Синтаксис на кортежа
Tup = ('Jan','feb','march')
За да напишете празен кортеж, трябва да напишете като две скоби, съдържащи нищо-
tup1 = ();
За писане на кортеж за една стойност трябва да включите запетая, въпреки че има една стойност. Също така в края трябва да напишете точка и запетая, както е показано по-долу.
Tup1 = (50,);
Индексите на кортежа започват от 0 и те могат да бъдат обединени, нарязани и т.н.
В този урок ще научим-
- Опаковане и разопаковане
- Сравняване на кортежи
- Използване на кортежи като ключове в речниците
- Изтриване на кортежи
- Нарязване на кортеж
- Вградени функции с Tuple
- Предимства на кортежа над списъка
Назначаване на кортеж
Python има функция за присвояване на кортежи, която ви позволява да присвоявате повече от една променлива наведнъж. Тук сме присвоили кортеж 1 с информация за лицата като име, фамилия, година на раждане и т.н. и друг кортеж 2 със стойностите в него като число (1,2,3,
…., 7).Например,
(име, фамилия, година на раждане, любим филм и година, професия, родно място) = Робърт
Ето кода,
tup1 = ('Робърт', 'Карлос', '1965', 'Терминатор 1995', 'Актьор', 'Флорида');tup2 = (1,2,3,4,5,6,7);печат (tup1 [0])печат (tup2 [1: 4])
- Tuple 1 включва списък с информация на Робърт
- Tuple 2 включва списък с числа в него
- Извикваме стойността за [0] в кортеж, а за кортеж 2 наричаме стойността между 1 и 4
- Изпълнете кода - Той дава име Робърт за първи кортеж, докато за втори кортеж дава номер (2,3 и 4)
Опаковане и разопаковане
При опаковането ние поставяме стойност в нова кортеж, докато при разопаковането извличаме тези стойности обратно в променливи.
x = ("Guru99", 20, "Education") # опаковка от кортежи(компания, emp, профил) = x # разопаковане на кортежпечат (компания)печат (emp)печат (профил)
Сравняване на кортежи
Операторът за сравнение в Python може да работи с кортежи.
Сравнението започва с първи елемент от всеки кортеж. Ако те не се сравняват с =, <или>, тогава се пристъпва към втория елемент и т.н.
Започва със сравняване на първия елемент от всеки от кортежите
Нека изучим това с пример-
# случай 1
a = (5,6)b = (1,4)if (a> b): print ("a е по-голям")else: print ("b е по-голям")
# случай 2
a = (5,6)b = (5,4)if (a> b): print ("a е по-голям")else: print ("b е по-голям")
# случай 3
a = (5,6)b = (6,4)if (a> b): print ("a е по-голям")else: print ("b е по-голям")
Случай 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 = списък (a.items ())печат (б)
Изтриване на кортежи
Кортежите са неизменни и не могат да бъдат изтрити. Не можете да изтривате или премахвате елементи от кортеж. Но изтриването на кортежа изцяло е възможно с помощта на ключовата дума
del
Нарязване на кортеж
За да извлечем конкретни набори от поделементи от кортеж или списък, използваме тази уникална функция, наречена нарязване. Нарязването е приложимо не само за кортеж, но и за масив и списък.
x = ("a", "b", "c", "d", "e")печат (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 Unpackingx = ("Guru99", 20, "Education") # tuple packing(company, emp, profile) = x # tuple unpackingprint companyprint empprint profile#Comparing tuples#case 1a=(5,6)b=(1,4)if (a>b):print "a is bigger"else: print "b is bigger"#case 2a=(5,6)b=(5,4)if (a>b):print "a is bigger"else: print "b is bigger"#case 3a=(5,6)b=(6,4)if (a>b):print "a is bigger"else: print "b is bigger"#Tuples and dictionarya = {'x':100, 'y':200}b = a.items()print b#Slicing of Tuplex = ("a", "b","c", "d", "e")print x[2:4]
Вградени функции с Tuple
За да изпълнявате различни задачи, кортежът ви позволява да използвате много вградени функции като all (), any (), enumerate (), max (), min (), sorted (), len (), tuple () и т.н.
Предимства на кортежа над списъка
- Итерацията през кортеж е по-бърза, отколкото при списъка, тъй като кортежите са неизменни.
- Кортежи, които се състоят от неизменяеми елементи, могат да се използват като ключ за речник, което не е възможно със списък
- Ако имате данни, които са неизменни, внедряването им като кортеж ще гарантира, че те остават защитени от запис
Резюме :
Python има функция за присвояване на кортежи, която ви позволява да присвоявате повече от една променлива наведнъж.
- Опаковане и разопаковане на кортежи
- При опаковането ние поставяме стойност в нова кортеж, докато при разопаковането извличаме тези стойности обратно в променливи.
- Операторът за сравнение в Python може да работи с кортежи.
- Използване на кортежи като ключове в речниците
- Tuples могат да се хашират, а списъкът не
- Трябва да използваме кортеж като ключ, ако трябва да създадем композитен ключ, който да използваме в речник
- Речникът може да върне списъка с кортежи чрез извикване на елементи, където всеки кортеж е двойка ключови стойности
- Кортежите са неизменни и не могат да бъдат изтрити. Не можете да изтривате или премахвате елементи от кортеж. Но изтриването на кортежа изцяло е възможно с помощта на ключовата дума "del"
- За да извлечем конкретни набори от поделементи от кортеж или списък, използваме тази уникална функция, наречена нарязване