En tuple är en samling av oföränderliga Python-objekt. Det kan innehålla element av vilken godtycklig datatyp som helst (heltal, sträng, flottör, 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 tuple i Python kan skapas genom att bifoga alla kommaseparerade element inom parentesen ().

t1 = (1, 2, 3, 4)
t2 = ("Make", "Use", "Of")
t3 = (1,2, 5,9, 5,4, 9,3)

Element av tupeln är oföränderliga och ordnade. Det tillåter duplicerade värden och kan ha valfritt antal element. Du kan till och med skapa en tom tupel. En tuples element kan vara av vilken datatyp som helst (heltal, float, strängar, tupel, etc.).

Skapa en tom tupel

En tom tupel kan skapas med hjälp av tomma parenteser som öppnar och stänger.

emptyTuple = ()

Skapa en Tuple med ett enda element

För att skapa en tuple med endast 1 element måste du lägga till en kommatecken efter elementet för att få det igenkänt som en tuple av Python.

instagram viewer
 # t1 är en tupel
t1 = (3.14,)
skriva ut (typ (t1))
# utskrifter
 # t2 är inte en tupel
t2 = (3,14)
skriva ut (typ (t2))
# utskrifter

Notera: typ() Funktionen returnerar klasstypen för objektet som skickats som en parameter.

Genom att inte använda ett kommatecken efter att elementet resulterar i klasstypen t2 som 'flyt', är det därför obligatoriskt att använda ett kommatecken efter elementet när man skapar en tupel med ett enda värde.

Skapa en Tuple med olika datatyper

Element i tupeln kan vara av vilken datatyp som helst. Denna funktion gör tupeln mångsidig.

tup1 = ('MUO', True, 3.9, 56, [1, 2, 3])
skriva ut (tup1)
# utskrifter
('MUO', True, 3.9, 56, [1, 2, 3])

Skapa en Tuple med tuple () Constructor

Tuples kan också skapas med hjälp av tuple () konstruktör. Med hjälp av tuple () -konstruktören kan du konvertera sekvenser som lista / ordlista till en tuple.

tup1 = tupel ((1, 2, 3))
skriva ut (tup1)
# utskrifter
(1, 2, 3)

Skapa en kapslad tupel

Tuples kan enkelt kapslas in i de andra tuplesna. Du kan häcka tupeln upp till vilken nivå du vill.

tup1 = (1, 2, 3)
tup2 = ('Hej', tup1, 45)
skriva ut (tup2)
# utskrifter
('Hej', (1, 2, 3), 45)

Åtkomst till element i en Tuple

Du kan komma åt tupelelement med indexnummer inom hakparenteserna. Indexnummer börjar från 0. Tuple stöder också 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')
skriva ut (tup1 [0])
skriva ut (tup1 [5])
skriva ut (tup1 [-1])
skriva ut (tup1 [-9])
# utskrifter
M
S
F
M

Skivning av en tupel

Du kan komma åt en rad element i en tuple med kolon : operatör. Tuple stöder också skärning med negativa index.

tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
# Skriver ut element från index 1 (ingår) till index 6 (exkluderat)
skriva ut (tup1 [1: 6])
# Skriver ut element från start till index 8 (exkluderat)
skriva ut (tup1 [: 8])
# Skriver ut element från index 3 (ingår) till slutet
skriva ut (tup1 [3:])
# Skriver ut element från index -4 (ingår) till index -1 (uteslutet)
skriva ut (tup1 [-4: -1])
# utskrifter
('A', 'K', 'E', 'U', 'S')
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O')
('E', 'U', 'S', 'E', 'O', 'F')
('S', 'E', 'O')

Kontrollerar om ett element finns i en tuple

Du kan kontrollera om ett element finns i en tuple med hjälp av i nyckelord.

tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
om 'M' i tup1:
skriva ut ("Ja, elementet M finns i tupeln")
annan:
tryck ("Elementet hittades inte i tupeln !!")
# utskrifter
Ja, elementet M finns i tupeln

Uppdaterar Tuples

Så tuplar som oföränderliga är det inte möjligt att ändra deras värde. Python kastar en TypeError om du försöker uppdatera tupeln.

tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
tup1 [0] = 'Z'
# Följande fel kastas
tup1 [0] = 'Z'
TypeError: 'tuple' -objekt stöder inte artikeltilldelning

Men det finns ett hack om du vill uppdatera din tuple.

Ändra värdet på elementen i en tuple med hjälp av listor

Du kan ändra värdet på element i din tuple med 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 tuple.

tup1 = (1, 2, 3)
tryck ("Detta är den gamla Tuple:")
skriva ut (tup1)
temp = lista (tup1)
temp [0] = 4
tup1 = tupel (temp)
tryck ("Detta är den uppdaterade tupeln:")
skriva ut (tup1)
# utskrifter
Detta är den gamla Tuple:
(1, 2, 3)
Detta är den uppdaterade tupeln:
(4, 2, 3)

Lägg till nya element i en tuple med hjälp av listor

Eftersom tuples är oföränderliga är det inte möjligt att lägga till nya element i en tuple. Python kommer att kasta ett fel som:

AttributeError: 'tuple' objekt har inget attribut 'append

Återigen kan du 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 tuple.

Notera: append () -metoden används i Python för att lägga till ett nytt element i slutet av listan.

tup1 = (1, 2, 3)
tryck ("Detta är den gamla Tuple:")
skriva ut (tup1)
temp = lista (tup1)
temp.append (4)
tup1 = tupel (temp)
tryck ("Detta är den uppdaterade tupeln:")
skriva ut (tup1)
# utskrifter
Detta är den gamla Tuple:
(1, 2, 3)
Detta är den uppdaterade tupeln:
(1, 2, 3, 4)

Ta bort operation på tuples

Eftersom tuplarna är oföränderliga är det inte möjligt att ta bort något element från tupeln. Om du vill radera hela tupeln kan det göras med del nyckelord.

tup1 = (1, 2, 3)
del tup1

Men du kan använda samma hack (med hjälp av listor) som du använde för att ändra och lägga till tupelobjekt.

Ta bort element från en tuple med hjälp av listor

Element kan raderas från tupeln 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 ta bort() metod

Steg 3: Konvertera listan till en tupel.

tup1 = (1, 2, 3)
tryck ("Detta är den gamla Tuple:")
skriva ut (tup1)
temp = lista (tup1)
temp. ta bort (1)
tup1 = tupel (temp)
tryck ("Detta är den uppdaterade tupeln:")
skriva ut (tup1)
# utskrifter
Detta är den gamla Tuple:
(1, 2, 3)
Detta är den uppdaterade tupeln:
(2, 3)

Packning och uppackning av tuples

När du skapar en tuple tilldelas värden. Det här kallas Packar en Tuple.

# Exempel på att packa en tuple
tup1 = (1, 2, 3)

Att extrahera värdena tillbaka till variabler kallas Packa upp en Tuple.

# Exempel på att packa upp en tupel
tup1 = (1, 2, 3)
(en, två, tre) = tup1
skriva ut (en)
tryck (två)
tryck (tre)
# utskrifter
1
2
3

Looping With Python Tuples

Tuples är iterabla behållare precis som listor i Python. Du kan enkelt slinga igenom tupelelementen.

Använd för Loop

Pythons för loop fungerar genom att itera genom elementen i behållaren.

# Looping med för loop
tup1 = (1, 2, 3)
för element i tup1:
tryck (element)
# utskrifter
1
2
3

Relaterad: Hur man använder för loopar i Python

Använda indexnummer

Du kan itera genom tupeln med hjälp av index av tuples. Använd len () funktion för att hitta storleken på tupeln.

tup1 = (1, 2, 3)
för index inom intervallet (len (tup1)):
skriva ut (tup1 [index])
# utskrifter
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. Genom att använda den här kraftfulla och mångsidiga datastrukturen (tuples) i dina Python-program tar du din kodeffektivitet till nästa nivå.

E-post
Lär dig Python? Så här hanterar du strängar

Att använda och manipulera strängar i Python kan verka svårt, men det är bedrägligt enkelt.

Relaterade ämnen
  • Programmering
  • Pytonorm
Om författaren
Yuvraj Chandra (2 artiklar publicerade)

Yuvraj är en doktorand vid datavetenskap vid University of Delhi, Indien. Han brinner för Full Stack webbutveckling. När han inte skriver utforskar han djupet i olika tekniker.

Mer från Yuvraj Chandra

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.