Kurssisisältö
Johdatus Pythoniin
Johdatus Pythoniin
Tuplet ja Tuple-menetelmät
Tuplet
Tässä luvussa käsitellään tupleja, jotka ovat toinen keskeinen Pythonin tietorakenne ja soveltuvat erinomaisesti muuttumattomien (ei-muokattavien) tietojonojen käsittelyyn. Tuplet osoittautuvat erittäin hyödyllisiksi ruokakauppaskenaariossamme.
Esimerkiksi saatamme tarvita tuotetietojen tallentamista, jotka harvoin muuttuvat, tai haluamme varmistaa, että arkaluonteiset tiedot, kuten tuotteen ID
-numerot, pysyvät johdonmukaisina ja muuttumattomina ohjelman suorituksen ajan.
Katso, kuinka Alex havainnollistaa tuplien käyttöä vakaiden tietojen hallinnassa ruokakauppaympäristössä:
Tuplien perusteet
Tuplet Pythonissa ovat yksinkertainen mutta tehokas tietorakenne, joka muistuttaa listoja, mutta ne on suunniteltu muuttumattomiksi.
Tässä ovat niiden keskeiset ominaisuudet:
Luominen
Tuplet luodaan sulkemalla pilkuilla erotetut arvot sulkeisiin ()
(toisin kuin listat, jotka luodaan sulkemalla pilkuilla erotetut arvot hakasulkeisiin []
).
Järjestys
Kuten listoissa, tuplen alkiot säilyttävät tietyn järjestyksen. Tämä järjestys on kiinteä eikä sitä voi muuttaa, mikä tukee tietojen eheyttä.
Muuttumattomuus
Kun tuple on luotu, sen alkioita ei voi muuttaa, lisätä eikä poistaa. Tämä muuttumattomuus tekee tuplista luotettavan vaihtoehdon tietojen tallentamiseen, joita ei tule muuttaa ohjelman elinkaaren aikana.
Toistuvien arvojen salliminen
Kuten listoissa, tuplet voivat sisältää useita samoja arvoja, mikä mahdollistaa toistuvan tiedon tallentamisen turvallisesti ja tehokkaasti. Tyypillisissä käyttötapauksissa tuplissa ei kuitenkaan yleensä esiinny toistoja.
Esimerkkejä
Tuplien ja listojen pääasiallinen ero Pythonissa liittyy niiden muokattavuuteen. Tuplet luodaan sulkeilla ()
ja ovat muuttumattomia, eli niitä ei voi muokata luomisen jälkeen.
Tarkastellaan tätä tarkemmin.
Otetaan esimerkiksi tuple, joka luokittelee ruokakaupan eri osastot — joukko arvoja, jotka eivät todennäköisesti muutu usein:
# 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)
Tuplen alkioihin pääsee käsiksi indeksinumeroiden avulla, samalla tavalla kuin listoissa. Tämä indeksointi toimii kuten listoissa, jolloin voit hakea minkä tahansa alkion sen sijainnin perusteella:
# 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])
Tuplet voivat sisältää minkä tahansa tyyppisiä olioita, aivan kuten listatkin. Ne voivat sisältää myös muuttuvia olioita kuten sisäkkäisiä listoja (tai sanakirjoja, joista puhumme myöhemmin). Vaikka tuplet ovat muuttumattomia, niiden sisällä olevia muuttuvia olioita voidaan silti muokata.
Otetaan esimerkiksi apple_details
-tuple – jos meidän täytyy päivittää osavaltioiden nimiä sisältävässä listassa oleva osavaltio, voimme tehdä sen käyttämällä tason 1 ja tason 2 indeksointia, aivan kuten sisäkkäisten listojen kanssa.
# 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-menetelmät
Vaikka tuplet eivät tue menetelmiä, jotka muuttavat niiden sisältöä, niissä on silti muutamia sisäänrakennettuja menetelmiä, jotka auttavat niiden hallinnassa ja hyödyntämisessä. Tässä ovat kaksi sisäänrakennettua menetelmää, joita voit käyttää tuplien kanssa:
count()
: palauttaa, kuinka monta kertaa tietty arvo esiintyy tuplessa;index()
: etsii tuplesta tietyn arvon ja palauttaa sen ensimmäisen esiintymän indeksin.
Huom
Samoja menetelmiä voidaan käyttää myös listojen kanssa.
# 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. Mikä on seuraavan Python-koodin tuloste?
2. Millä koodirivillä löydät oikein kuvauksen "Baby Spinach"
sijainnin spinachDetails
-tuplassa?
Kiitos palautteestasi!