En tupel är en samling oföränderliga Python-objekt. Den kan innehålla element av vilken godtycklig datatyp som helst (heltal, sträng, flytande, lista, etc.) vilket gör den till en flexibel och kraftfull datastruktur. Det är en del av Pythons kärnspråk och används ofta i Python-program och projekt.
Skapa en Tuple
En tupel i Python kan skapas genom att omsluta alla kommaseparerade element inuti parentesen ().
t1 = (1, 2, 3, 4)
t2 = ("Make", "Use", "Of")
t3 = (1.2, 5.9, 5.4, 9.3)
Delarna av tupeln är oföränderliga och ordnade. Det tillåter dubbletter av värden och kan ha valfritt antal element. Du kan till och med skapa en tom tupel. En tupels element kan vara av vilken datatyp som helst (heltal, float, strängar, tupel, etc.).
Skapa en tom tuppel
En tom tuppel kan skapas genom att använda tomma öppnings- och stängningsparenteser.
emptyTuple = ()
Skapa en tuppel med ett enda element
För att skapa en tuppel med endast 1 element måste du lägga till en kommatecken efter elementet för att få det igenkänd som en tupel av Python.
# t1 is a tuple
t1 = ( 3.14, )
print( type(t1) )
# prints
<class 'tuple'>
# t2 is not a tuple
t2 = ( 3.14 )
print( type(t2) )
# prints
<class 'float'>
Notera: typ() Funktionen returnerar klasstypen för objektet som skickas som en parameter.
Genom att inte använda ett kommatecken efter elementet resulterar i klasstypen t2 som ‘float’, därför är det obligatoriskt att använda ett kommatecken efter elementet när du skapar en tupel med ett enda värde.
Skapa en tuppel med olika datatyper
Element i tupeln kan vara av vilken datatyp som helst. Denna funktion gör tuppeln mångsidig.
tup1 = ( 'MUO', True, 3.9, 56, [1, 2, 3] )
print( tup1 )
# prints
('MUO', True, 3.9, 56, [1, 2, 3])
Skapa en Tuple Använda tuple() Constructor
Tuples kan också skapas med hjälp av tuppel() konstruktör. Med hjälp av tuple()-konstruktorn kan du konvertera sekvenser som list/ordbok till en tupel.
tup1 = tuple( (1, 2, 3) )
print( tup1 )
# prints
(1, 2, 3)
Skapa en kapslad tuppel
Tuplar kan enkelt häckas inuti de andra tuplarna. Du kan kapsla tupeln upp till vilken nivå du vill.
tup1 = (1, 2, 3)
tup2 = ( 'Hello', tup1, 45 )
print( tup2 )
# prints
('Hello', (1, 2, 3), 45)
Få åtkomst till element i en Tuple
Du kan komma åt tupelelement med hjälp av indexnummer inom hakparenteserna. Indexnummer börjar från 0. Tuple stöder även negativ indexering:
-1: pekar på det sista elementet -2: pekar på det näst sista elementet och så vidare
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
print( tup1[0] )
print( tup1[5] )
print( tup1[-1] )
print( tup1[-9] )
# prints
M
S
F
M
Skiva en tupel
Du kan komma åt en rad element i en tupel med hjälp av kolon : operatör. Tuple stöder också skivningsoperation med negativa index.
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
# Prints elements from index 1(included) to index 6(excluded)
print( tup1[1:6] )
# Prints elements from start to index 8(excluded)
print( tup1[:8] )
# Prints elements from index 3(included) to the end
print( tup1[3:] )
# Prints elements from index -4(included) to index -1(excluded)
print( tup1[-4:-1] )
# prints
('A', 'K', 'E', 'U', 'S')
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O')
('E', 'U', 'S', 'E', 'O', 'F')
('S', 'E', 'O')
Kontrollera om ett element finns i en tuppel
Du kan kontrollera om ett element finns i en tupel med hjälp av i nyckelord.
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
if 'M' in tup1:
print("Yes, the element M exists in the tuple")
else:
print("Element not found in the tuple !!")
# prints
Yes, the element M exists in the tuple
Uppdaterar Tuples
Som tupler som oföränderliga är det inte möjligt att ändra deras värde. Python kastar ett TypeError om du försöker uppdatera tupeln.
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
tup1[0] = 'Z'
# Following error is thrown
tup1[0] = 'Z'
TypeError: 'tuple' object does not support item assignment
Men det finns ett hack om du vill uppdatera din tupel.
Ändra värdet på element i en tuppel med hjälp av listor
Du kan ändra värdet på element i din tupel med hjälp av listor i Python. Först måste du konvertera tupeln till en lista. Ändra sedan listan som du vill. Slutligen, konvertera listan tillbaka till en tupel.
tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp[0] = 4
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(4, 2, 3)
Lägg till nya element i en tuppel med hjälp av listor
Eftersom tupler är oföränderliga är det inte möjligt att lägga till nya element i en tupel. Python kommer att skicka ett fel som:
AttributeError: 'tuple' object has no attribute 'append
Återigen, du kan använda vårt hack (med hjälp av listor) för att hantera detta. Konvertera först tupeln till en lista. Lägg sedan till nya element i listan. Slutligen, konvertera listan till en tupel.
Notera: metoden append() används i Python för att lägga till ett nytt element i slutet av listan.
tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp.append(4)
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(1, 2, 3, 4)
Ta bort operation på Tuples
Eftersom tupler är oföränderliga är det inte möjligt att ta bort något element från tuplen. Om du vill radera hela tuppeln kan det göras med hjälp av del nyckelord.
tup1 = ( 1, 2, 3 )
del tup1
Men du kan använda samma hack (med listor) som du använde för att ändra och lägga till tupelobjekt.
Ta bort element från en tuppel med listor
Element kan raderas från tuplen med hjälp av listor i tre enkla steg:
Steg 1: Konvertera tupeln till en lista.
Steg 2: Ta bort elementen från listan med hjälp av avlägsna() metod
Steg 3: Konvertera listan till en tupel.
tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp.remove(1)
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(2, 3)
Packa och packa upp tuplar
När du skapar en tupel tilldelas värden. Det här kallas Packa en Tuple.
# Example of packing a tuple
tup1 = ( 1, 2, 3)
Medan att extrahera värdena tillbaka till variabler kallas Packar upp en Tuple.
# Example of unpacking a tuple
tup1 = ( 1, 2, 3 )
( one, two, three ) = tup1
print( one )
print( two )
print( three )
# prints
1
2
3
Slingor Med Python Tuples
Tuples är itererbara behållare precis som listor i Python. Du kan enkelt loopa igenom tupelelementen.
Används för Loop
Pythons for loop fungerar genom att iterera genom elementen i behållaren.
# Looping using for loop
tup1 = ( 1, 2, 3 )
for element in tup1:
print( element )
# prints
1
2
3
Använda indexnummer
Du kan iterera genom tupeln med hjälp av index över tupler. Använd len() funktion för att hitta storleken på tupeln.
tup1 = ( 1, 2, 3 )
for index in range(len(tup1)):
print( tup1[index] )# prints
1
2
3
Förbättra din kodeffektivitet
Eftersom tupeldatastrukturen är oföränderlig, är dess bearbetningshastigheten är snabbare än listor. Således ger det optimering till Python-program/projekt. Att använda denna kraftfulla och mångsidiga datastruktur (tupler) i dina Python-program kommer att ta din kodeffektivitet till nästa nivå.
Om författaren
Yuvraj Chandra (80 artiklar publicerade)
Yuvraj är en datavetenskapsstudent vid University of Delhi, Indien. Han brinner för Full Stack Web Development. När han inte skriver undersöker han djupet i olika teknologier.
Mer från Yuvraj Chandra
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
