Python TUPLE – Опаковане, Разопаковане, Сравняване, Нарязване, Изтриване, Ключ

⚡ Умно обобщение

Python Кортежът е подредена, непроменима колекция от стойности, записани в скоби. Примерите по-долу обхващат пакетиране и разопаковане на кортежи, сравняване на кортежи, използване на кортежи като ключове на речника, изтриване, нарязване и предимствата на кортежите пред списъците.

  • 📦 Определение: Кортежът е подредена, непроменяема колекция, създадена със скоби.
  • 🔁 Опаковане/Разопаковане: Групирайте стойностите в кортеж, след което extracда ги превърнем обратно в променливи.
  • Сравняване: Кортежите се сравняват елемент по елемент отляво надясно.
  • 🔑 Ключове на речника: Тъй като кортежите са хешируеми, те могат да действат като съставни речникови ключове.
  • ✂️ Нарязването: Извличане на поделементи от кортеж, използвайки нотация на срезове.
  • ???? Предимства: Кортежите са по-бързи и защитени от запис в сравнение със списъците.

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() и др.

Предимства на кортежа пред списъка

  • Итерирането чрез кортеж е по-бързо, отколкото със списък, тъй като кортежите са неизменни.
  • Кортежи, които се състоят от неизменни елементи, могат да се използват като ключ за речник, което не е възможно със списък
  • Ако имате данни, които са неизменни, прилагането им като кортеж ще гарантира, че те остават защитени от запис

Въпроси и Отговори

Кортежът е непроменлив и се записва със скоби, докато списъкът е променлив и се записва с квадратни скоби. Кортежите са по-бързи и могат да бъдат ключове на речник; списъците са по-добри, когато трябва да добавяте, премахвате или променяте елементи.

Не. Кортежите са непроменими, така че не можете да променяте, добавяте или премахвате елементите им след създаването им. Ако имате нужда от модифицирана версия, създайте нов кортеж или го конвертирайте в списък, променете го и го конвертирайте обратно.

Добавете запетая след стойността, например t = (50,). Без запетая, Python третира скобите като нормална групаping и създава цяло число, а не кортеж. Запетаята е това, което го прави едноелементен кортеж.

Използвайте tuple(), за да превърнете списък в кортеж, например tuple([1, 2, 3]). За да направите обратното, използвайте list() върху кортежа. Преобразуването е удобно, когато трябва временно да промените данни, които иначе са фиксирани.

Да. Кортежът може да съдържа смесени типове, като низове, цели числа и числа с плаваща запетая, и може да съдържа други кортежи или списъци. Вложените кортежи ви позволяват да моделирате редове, координати или записи, където всяка позиция има ясно значение.

Именуван кортеж от модула „колекции“ дава име на всяка позиция, така че да можете да четете полетата по етикет, вместо по индекс. Това запазва непроменливостта и скоростта на кортежа, като същевременно прави кода много по-четим, подобно на лек клас.

Кортежите съхраняват фиксирани, подредени данни, като например форми на масиви, координати и записи от набори от данни. Библиотеки като NumPy и pandas използват кортежи за форми и индексни ключове. Тяхната неизменност осигурява безопасността на данните от машинното обучение за предаване без случайни промени.

Да. Тези асистенти с изкуствен интелект могат да генерират код за пакетиране, разопаковане и разделяне на кортежи от команден ред на обикновен английски език, след което да обяснят всеки ред. Те също така предлагат кога един кортеж е по-подходящ от списък. Винаги преглеждайте и тествайте генерирания код, преди да го използвате.

Обобщете тази публикация с: