Python TUPLE – Packa, packa upp, jämför, skiva, radera, nyckel

Vad är Tuple Matching i Python?

Tuple Matching in Python är en metod för att gruppera tuplarna genom att matcha det andra elementet i tuplarna. Det uppnås genom att använda en ordbok genom att kontrollera det andra elementet i varje tupel i python-programmering. Däremot kan vi göra nya tupler genom att ta delar av befintliga tupler.

Tuppelsyntax

Tup = ('Jan','feb','march')

För att skriva en tom tupel måste du skriva som två parenteser som inte innehåller något-

tup1 = ();

För att skriva tupel för ett enskilt värde måste du inkludera ett kommatecken, även om det finns ett enda värde. Även i slutet måste du skriva semikolon som visas nedan.

Tup1 = (50,);

Tupelindex börjar på 0, och de kan sammanfogas, skivas och så vidare.

Tuppeluppgift

Python har tuppeltilldelningsfunktion som gör att du kan tilldela mer än en variabel åt gången. Här har vi tilldelat tuppel 1 med personens information som namn, efternamn, födelseår etc. och en annan tuppel 2 med värdena i som nummer (1,2,3,...,7).

Till exempel,

(namn, efternamn, födelseår, favoritfilm och år, yrke, födelseort) = Robert

Här är koden,

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print(tup1[0])
print(tup2[1:4])
  • Tupel 1 innehåller lista med information om Robert
  • Tuple 2 innehåller en lista med nummer
  • Vi kallar värdet för [0] i tuppel och för tuppel 2 kallar vi värdet mellan 1 och 4
  • Kör koden- Det ger namnet Robert för första tuppel medan för andra tuppel ger det nummer (2,3 och 4)

Packning och packning

Vid packning lägger vi värde i en ny tupel medan vi vid uppackning extraherar dessa värden tillbaka till variabler.

x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print(company)
print(emp)
print(profile)

Jämför tupler

En jämförelseoperatör i Python kan arbeta med tuplar.

Jämförelsen börjar med ett första element av varje tupel. Om de inte jämförs med =,< eller > går det vidare till det andra elementet och så vidare.

Det börjar med att jämföra det första elementet från var och en av tuplarna

Låt oss studera detta med ett exempel-

#fall 1

a=(5,6)
b=(1,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

#fall 2

a=(5,6)
b=(5,4)
if (a>b):print("a is bigger")
else: print ("b is bigger")

#fall 3

a=(5,6)
b=(6,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

Fall 1: Jämförelse börjar med ett första element i varje tupel. I detta fall 5>1, så utgången a är större

Fallet 2: Jämförelse börjar med ett första element i varje tupel. I det här fallet 5>5 vilket inte är avgörande. Så det går vidare till nästa element. 6>4, så utgången a är större

Fallet 3: Jämförelse börjar med ett första element i varje tupel. I detta fall 5>6 vilket är falskt. Så det går in i else-blocket och skriver ut "b är större."

Använda tupler som nycklar i ordböcker

Eftersom tuples är hashbara och list inte är det, måste vi använda tuple som nyckel om vi behöver skapa en sammansatt nyckel att använda i en ordbok.

Exempelvis: Vi skulle stöta på en sammansatt nyckel om vi behöver skapa en telefonkatalog som mappar, förnamn, efternamn, par av telefonnummer etc. Om vi ​​antar att vi har deklarerat variablerna som sista och första nummer, skulle vi kunna skriva en ordboksuppgift enligt nedan:

directory[last,first] = number

Innanför parenteserna är uttrycket en tupel. Vi skulle kunna använda tuppeltilldelning i en for-loop för att navigera i den här ordboken.

for last, first in directory:
print first, last, directory[last, first]

Denna loop navigerar nycklarna i katalogen, som är tupler. Den tilldelar elementen i varje tupel till sista och första och skriver sedan ut namnet och motsvarande telefonnummer.

Tuples och ordbok

Dictionary kan returnera listan med tupler genom att anropa objekt, där varje tupel är ett nyckelvärdespar.

a = {'x':100, 'y':200}
b = list(a.items())
print(b)

Ta bort Tuples

Tuples är oföränderliga och kan inte raderas. Du kan inte ta bort eller ta bort objekt från en tupel. Men att ta bort tuple helt är möjligt genom att använda nyckelordet

del

Skivning av Tuple

För att hämta specifika uppsättningar av underelement från tuple eller lista använder vi denna unika funktion som kallas slicing. Skivning är inte bara tillämplig på tupel utan också för array och list.

x = ("a", "b","c", "d", "e")
print(x[2:4])

Utdata från denna kod kommer att vara ('c', 'd').

Här är Python 2 Kod för alla ovanstående exempel

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]

Inbyggda funktioner med Tuple

För att utföra olika uppgifter låter tuple dig använda många inbyggda funktioner som all(), any(), enumerate(), max(), min(), sorted(), len(), tuple(), etc.

Fördelar med tupel över lista

  • Iteration genom tupler är snabbare än med list, eftersom tupler är oföränderliga.
  • Tuples som består av oföränderliga element kan användas som nyckel för ordbok, vilket inte är möjligt med list
  • Om du har data som är oföränderlig, kommer implementering av den som tupel att garantera att den förblir skrivskyddad

Sammanfattning

Python har tuppeltilldelningsfunktion som gör att du kan tilldela mer än en variabel åt gången.

  • Packning och uppackning av tuplar
  • Vid packning lägger vi värde i en ny tupel medan vi vid uppackning extraherar dessa värden tillbaka till variabler.
  • A jämförelseoperatör i Python kan arbeta med tuplar.
  • Använda tupler som nycklar i ordböcker
  • Tuples är hashbara, och list är det inte
  • Vi måste använda tuple som nyckel om vi behöver skapa en sammansatt nyckel att använda i en ordbok
  • Dictionary kan returnera listan över tupler genom att anropa objekt, där varje tupel är ett nyckelvärdespar
  • Tuples är oföränderliga och kan inte tas bort. Du kan inte ta bort eller ta bort objekt från en tupel. Men att ta bort tuple helt är möjligt genom att använda nyckelordet "del"
  • För att hämta specifika uppsättningar av underelement från tupel eller lista använder vi denna unika funktion som kallas slicing