Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tuplet ja Tuplen Metodit | Muut Tietotyypit
Johdatus Pythoniin

bookTuplet ja Tuplen Metodit

Pyyhkäise näyttääksesi valikon

Tuplet

Tässä luvussa käsitellään tupleja, jotka ovat toinen keskeinen Pythonin tietorakenne ja soveltuvat erityisesti 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öä vakaaseen tiedonhallintaan ruokakauppaympäristössä:

Tuplien perusteet

Tuplet Pythonissa ovat yksinkertainen mutta tehokas tietorakenne, joka muistuttaa listoja, mutta ne on suunniteltu muuttumattomiksi.

Tässä niiden keskeiset ominaisuudet:

Luominen

Tuplet luodaan sulkemalla pilkulla erotetut arvot sulkeisiin () (toisin kuin listat, jotka luodaan sulkemalla pilkulla erotetut arvot hakasulkeisiin []).

Järjestys

Kuten listoissa, myös tuplessa alkioilla on tietty järjestys. Tämä järjestys on kiinteä eikä sitä voi muuttaa, mikä tukee tiedon eheyttä.

Muuttumattomuus

Kun tuplet on luotu, sen alkioita ei voi muuttaa, lisätä eikä poistaa. Tämä muuttumattomuus tekee tuplista luotettavan vaihtoehdon tiedon tallentamiseen, jota ei tule muuttaa ohjelman elinkaaren aikana.

Duplikaattien salliminen

Kuten listoissa, myös tuplessa voi olla useita samoja arvoja, mikä tekee niistä sopivia toistuvan tiedon tallentamiseen turvallisesti ja tehokkaasti. Yleensä duplikaatit eivät kuitenkaan ole tyypillisiä tuplien käyttötapauksissa.

Esimerkkejä

Tuplien ja listojen keskeinen ero Pythonissa liittyy niiden muokattavuuteen. Tuplet luodaan sulkeilla () ja ovat muuttumattomia, eli niitä ei voi muokata luomisen jälkeen.

Tarkastellaan tätä tarkemmin.

Kuvitellaan tuple, joka luokittelee ruokakaupan eri osastot — joukko arvoja, jotka eivät todennäköisesti muutu usein:

12345
# 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)
copy

Tuplen alkioihin pääsee käsiksi indeksinumeroiden avulla, samalla tavalla kuin listoissa. Tämä indeksointi toimii samalla tavalla kuin listoissa, jolloin voit hakea minkä tahansa alkion sen sijainnin perusteella:

12345
# 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])
copy

Tuplet voivat sisältää minkä tahansa tyyppisiä olioita, aivan kuten listatkin. Ne voivat sisältää myös muokattavia olioita kuten sisäkkäisiä listoja (tai sanakirjoja, joista puhumme myöhemmin). Vaikka tuplet ovat muuttumattomia, niiden sisällä olevia muokattavia olioita voidaan silti muuttaa.

Otetaan esimerkiksi apple_details-tuple – jos haluamme päivittää tilan nimen listassa, joka sisältää osavaltioiden nimet, voimme tehdä sen käyttämällä tason 1 ja tason 2 indeksointia, aivan kuten sisäkkäisten listojen kanssa.

123456
# 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)
copy

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.

12345678910
# 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)
copy

1. Mikä on seuraavan Python-koodin tuloste?

2. Mikä koodirivi hakee oikein kuvauksen "Baby Spinach" indeksin spinachDetails-tuplasta?

question mark

Mikä on seuraavan Python-koodin tuloste?

Valitse oikea vastaus

question mark

Mikä koodirivi hakee oikein kuvauksen "Baby Spinach" indeksin spinachDetails-tuplasta?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 4
some-alt