Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Joukon Luominen Pythonissa: Järjestämättömien Kokoelmien Määrittely | Python-joukkojen hallinta
Pythonin Tietorakenteet
Osio 4. Luku 1
single

single

Joukon Luominen Pythonissa: Järjestämättömien Kokoelmien Määrittely

Pyyhkäise näyttääksesi valikon

Set Pythonissa on järjestämätön kokoelma yksilöllisiä alkioita. Toisin kuin listat tai tuplet, setit eivät salli päällekkäisiä alkioita, mikä tekee niistä ihanteellisia esimerkiksi duplikaattien poistamiseen tai matemaattisiin joukko-operaatioihin. Setit ovat muokattavia (mutable), eli niiden alkioita voi lisätä tai poistaa, mutta joukon sisällä olevien tietojen täytyy olla muuttumattomia (esim. numerot, merkkijonot tai tuplet).

Note
Huomio

Set ei voi sisältää sanakirjoja (dictionary) tai listoja, koska molemmat ovat muuttuvia tietotyyppejä.

Pythonissa setin voi luoda kahdella pääasiallisella tavalla:

  1. Käyttämällä aaltosulkeita {} ja erottamalla alkiot pilkuilla;
  2. Käyttämällä set()-funktiota.

Tärkeimmät asiat seteistä:

  • Muokattavuus: settiin voi lisätä tai siitä voi poistaa alkioita, mutta setin sisällä olevien alkioiden täytyy olla muuttumattomia;
  • Päällekkäiset alkiot: joukkoon lisätyt päällekkäiset alkiot poistetaan automaattisesti;
  • Järjestämättömyys: alkioiden järjestys setissä ei ole taattu ja voi vaihdella;
  • Monipuoliset tietotyypit: setit voivat sisältää eri tietotyyppejä, kuten merkkijonoja, kokonaislukuja tai tupleja.

Määritellään set käyttämällä set()-funktiota:

123
# Creating a set which contains strings movie_set = set("Interstellar") print(movie_set)

Seuraavaksi määritellään joukko suosittuja elokuvia käyttämällä aaltosulkeita:

123
# Creating a set of movies using curly braces movies = {"Inception", "Interstellar", "Tenet", "Dunkirk", "Tenet"} print(movies)

Kaksoiskappaleet, kuten "Tenet", poistetaan automaattisesti, kun joukko luodaan.

Rajoitukset joukkojen luomisessa

set()-funktion syntaksilla on tietyt vaatimukset. Jos yrität antaa useita argumentteja suoraan, esimerkiksi:

set("Tenet", "Dunkirk", "Inception")

Saat TypeError-virheen, koska set()-funktio odottaa yhtä iteroitavaa argumenttina, ei useita erillisiä arvoja.

Jos haluat luoda joukon, jossa on useita alkioita, sinun tulee antaa ne yhtenä iteroitavana:

123
# Using a list `[]` movies = set(["Tenet", "Dunkirk", "Inception"]) print(movies)
123
# Using a tuple `(,)` movies = set(("Tenet", "Dunkirk", "Inception")) print(movies)
Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Aloitetaan harjoittelu joukkojen kanssa.

  • Alusta joukko nolan_movies seuraavilla elokuvilla: "Inception", "The Dark Knight", "Interstellar", "Tenet".
  • Käytä aaltosulkeita ({}) joukon luomiseen.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt