Kursusindhold
Introduktion til Python
Introduktion til Python
Tupler og Tuple-metoder
Tupler
I dette kapitel undersøger vi tupler, en anden grundlæggende datastruktur i Python, der er ideel til håndtering af uændrelige (immutable) datastrømme. Tupler ville vise sig at være utrolig nyttige i vores supermarkedsscenarie.
For eksempel kan vi have behov for at opbevare poster med produktdetaljer, der sjældent ændres, eller sikre, at følsomme oplysninger, såsom produkt-ID
-numre, forbliver konsistente og uændrede gennem hele programmets kørsel.
Se med, når Alex demonstrerer, hvordan man arbejder med tupler for at sikre stabil databehandling i vores supermarkedskontekst:
Grundlæggende om tupler
Tupler i Python er en basal, men kraftfuld datastruktur, der ligner lister, men er designet til uforanderlighed.
Her er en oversigt over deres vigtigste egenskaber:
Oprettelse
Tupler oprettes ved at omslutte kommaseparerede værdier med parenteser ()
(i modsætning til lister, der oprettes med firkantede parenteser []
).
Orden
Ligesom lister bevarer elementerne i en tuple en bestemt rækkefølge. Denne rækkefølge er fast og kan ikke ændres, hvilket kan være nyttigt for dataintegritet.
Uforanderlighed (Immutability)
Når en tuple er oprettet, kan dens elementer ikke ændres, tilføjes eller fjernes. Denne uforanderlighed gør tupler til et pålideligt valg til lagring af data, der ikke bør ændres gennem programmets levetid.
Tilladelse af dubletter
Ligesom lister kan tupler indeholde flere forekomster af den samme værdi, hvilket gør dem velegnede til sikker og effektiv lagring af gentagne data. Dog er det generelt usædvanligt at finde dubletter i tupler ved typiske anvendelser.
Eksempler
Den primære forskel mellem tupler og lister i Python ligger altså i deres mutabilitet. Tupler oprettes med parenteser ()
og er uforanderlige, hvilket betyder, at de ikke kan ændres efter oprettelse.
Lad os se nærmere på dette.
Overvej en tuple, der kategoriserer forskellige afdelinger i et supermarked — et sæt værdier, der sandsynligvis ikke ændres ofte:
# Define a tuple with grocery store categories grocery_aisles = ("Produce", "Dairy", "Bakery", "Meat", "Frozen Foods") # Display a tuple on the screen print("Grocery Aisles:", grocery_aisles)
Elementer i et tuple kan tilgås ved hjælp af indeksnumre, ligesom med lister. Denne indeksering fungerer på samme måde som med lister og gør det muligt at hente ethvert element baseret på dets position:
# Define a tuple with multiple data types apple_details = ("apple", 34, True, 1.99, "Fuji") # Get an element of a tuple by its index print("Apple Type:", apple_details[4])
Tupler kan indeholde enhver type objekt, ligesom lister. De kan også inkludere mutable objekter som indlejrede lister (eller ordbøger, som vi vil tale om senere). Selvom tupler er immutable, kan de mutable objekter inden i dem stadig ændres.
Tag apple_details
-tuplen – hvis vi har brug for at opdatere en stat i listen, der indeholder statsnavne, kan vi gøre det ved at bruge niveau 1 og niveau 2 indeksering, præcis som vi gjorde med indlejrede lister.
# Tuple containing various data types and a nested list apple_details = ("apple", 34, True, 1.99, "Fuji", ["Washington", "California", "Michigan"]) print(apple_details) # Updating the mutable python list even while nested in an immutable data type (tuple) apple_details[5][2] = "Pennsylvania" print(apple_details)
Tuple-metoder
Selvom tupler ikke understøtter metoder, der ændrer deres indhold, tilbyder de stadig nogle få indbyggede metoder, der hjælper med at håndtere og udnytte dem effektivt. Her er de to indbyggede metoder, du kan bruge med tupler:
count()
: returnerer antallet af gange en bestemt værdi forekommer i tuplen;index()
: søger i tuplen efter en bestemt værdi og returnerer indekspositionen, hvor den først blev fundet.
Bemærk
De samme metoder kan også bruges med lister.
# Example tuple containing a mix of integers and strings fruits = ("apple", "banana", "cherry", "apple", "banana", "cherry", "apple") # Use the `count()` method to determine how many times "apple" appears in the tuple apple_count = fruits.count("apple") print("Number of times 'apple' appears:", apple_count) # Use the `index()` method to find the first occurrence of "cherry" in the tuple cherry_index = fruits.index("cherry") print("The first occurrence of 'cherry' is at index:", cherry_index)
1. Hvad vil outputtet være for følgende Python-kode?
2. Hvilken linje kode finder korrekt indekspositionen for beskrivelsen "Baby Spinach"
i tuplen spinachDetails
?
Tak for dine kommentarer!