Tämä artikkeli auttaa lukijaa ymmärtämään perus Pythonin joukot ja sanakirjat sekä joitakin perus sovelluksia todellisessa maailmassa. Käytämme Visual Studio Codea koodieditorina. Jos et ole asentanut Visual Studio Codea, ohjeet on annettu edellisessä blogissa.
Pythonin joukot ja sanakirjat – sisällysluettelo:
- Pythonin joukot
- Toiminnot Pythonin joukoissa
- Sanakirjat Pythonissa
- Ero Pythonin joukkojen ja sanakirjojen välillä
Pythonin joukot
Joukko on muokattava ja järjestämätön kokoelma ainutlaatuisia elementtejä. Joukko kirjoitetaan kaarisulkujen ({}) sisään, ja elementit erotetaan pilkuilla.
Se voidaan myös määrittää sisäänrakennetulla funktiolla set([iterable]). Tämä funktio ottaa argumenttina iteroitavan (eli minkä tahansa tyyppisen sekvenssin, kokoelman tai iteraattorin), palauttaen joukon, joka sisältää ainutlaatuisia kohteita syötteestä (kopioidut elementit poistetaan).
Esimerkiksi:
# Luo joukko käyttäen # Merkkijonoa print(set('Dev'))
Tuloste: {'e', 'v', 'D'}
# lista set(['Mayank', 'Vardhman', 'Mukesh', 'Mukesh'])
Tuloste: {'Mayank', 'Mukesh', 'Vardhman'}
# Tupla set(('Lucknow', 'Kanpur', 'India'))
Tuloste: {'India', 'Kanpur', 'Lucknow'}
# sanakirja set({'Sulphur': 16, 'Helium': 2, 'Carbon': 6, 'Oxygen': 8})
Tuloste: {'Carbon', 'Helium', 'Oxygen', 'Sulphur'}
Nyt tiedämme, kuinka luoda joukkoja. Katsotaanpa, mitkä ovat joukoissa yleiset toiminnot.
Toiminnot Pythonin joukoissa
Elementin lisääminen joukkoon
Elementin lisäämisen syntaksi on set.add(element).
Menetelmä toimii paikallisesti ja muokkaa joukkoa ja palauttaa ‘None’.
Esimerkiksi:
locations = set(('Lucknow','kanpur','India')) locations.add('Delhi') print(locations)
Tuloste: {'India', 'Delhi', 'Lucknow', 'kanpur'} [/code> <p>Pythonin joukoissa emme voi lisätä elementtiä tiettyyn indeksiin, koska se ei ole järjestetty.</p> <h3>Elementin poistaminen joukosta</h3> <p>On kolme menetelmää, joiden avulla voit suorittaa elementin poistamisen joukosta.</p> <p>Ne on annettu alla:</p> <ul> <li>set.remove(element)</li> <li>set.discard(element)</li> <li>set.pop()</li> </ul> <p>Ymmärretään se tarkastelemalla esimerkkiä jokaisesta toteutuksesta:</p> <strong>set.remove(element)</strong> [code lang="js"] locations = set(('Lucknow', 'kanpur', 'India')) # Poistaa Lucknow'n joukosta locations.remove('Lucknow') print(locations)
Tuloste: {'India', 'kanpur'} [/code> <strong>set.discard(element)</strong> [code lang="js"] locations = set(('Lucknow', 'kanpur', 'India')) # Poistaa 'Lucknow'n joukosta locations.discard('Lucknow') print(locations)
Tuloste: {'India', 'kanpur'} [/code> <p>Kuten näet, sekä 'remove' että 'discard' menetelmät toimivat paikallisesti ja muokkaavat samaa joukkoa, jota kutsutaan. Ne palauttavat 'None'.</p> <p>Ainoa ero 'remove' ja 'discard' -toimintojen välillä on se, että 'remove' -toiminto heittää poikkeuksen (KeyError), jos 'elementti' ei ole joukossa. Poikkeusta ei heitetä 'discard' -tapauksessa.</p> <strong>set.pop()</strong> [code lang="js"] locations = set(("Lucknow", 'Kanpur', 'India')) # Poistaa 'Lucknow'n joukosta removed_location = locations.pop() print(locations) print(removed_location)
Tuloste: {'Kanpur', 'Lucknow'} India [/code> <p>'pop' -toiminto ei ota argumentteja ja poistaa minkä tahansa satunnaisen elementin joukosta. Se toimii myös paikallisesti, mutta toisin kuin muut menetelmät, se palauttaa poistetun elementin.</p> <p>Olemme käsitelleet listoja, tupleja ja Pythonin joukkoja. Nyt katsotaan, miten asiat toimivat Pythonin sanakirjoissa.</p> <h2 id="thirdparagraph">Sanakirjat Pythonissa</h2> <p>Pythonin sanakirjat ovat perustavanlaatuinen tietotyyppi tietojen tallentamiseen ja hakemiseen.</p> <p>Sanakirja on sisäänrakennettu tietorakenne, joka tallentaa avain-arvo-pareja ja johon voidaan päästä joko avaimen tai arvon kautta. <a href="https://en.wikibooks.org/wiki/Python_Programming/Dictionaries" target="_blank" rel="noopener">Pythonin sanakirjat</a> ovat järjestämättömiä, ja avaimet eivät voi olla negatiivisia kokonaislukuja. Lisäksi, vaikka avaimet on oltava muuttumattomia, arvot eivät välttämättä ole.</p> <p>Sanakirjan luomisen syntaksi on sijoittaa kaksi neliösulkua minkä tahansa merkkijonosekvenssin jälkeen, jota seuraa kaksoispiste (esim. {'a': 'b'}); jos syötät useamman kuin yhden sekvenssin, sinun on asetettava ne erillisiin sulkuihin (esim. {'a': 'b', 'c': 'd'}).</p> <p>Esimerkiksi:</p> [code lang="js"] # Luodaan tyhjää sanakirja Dictionary = {} print("Tyhjät sanakirja: ") print(Dictionary)
Tuloste: Tyhjät sanakirja: {} [/code> <p>Voimme myös luoda sanakirjan käyttämällä sisäänrakennettua funktiota nimeltä 'dict()'.</p> <p>Katsotaanpa, kuinka voimme luoda sen:</p> [code lang="js"] # Luodaan sanakirja # dict() -menetelmällä Dictionary = dict({1: 'Hello', 2: 'World', 3: '!!!'}) print("\nSanakirja käyttämällä dict() -menetelmää: ") print(Dictionary)
Tuloste: Sanakirja käyttämällä dict() -menetelmää: 1: 'Hello', 2: 'World', 3: '!!!'} [/code> <p>Nyt luodaan sanakirja käyttämällä avain-arvo-pareja sisältävää tuple-listaa:</p> [code lang="js"] # Luodaan sanakirja Dict = dict([(1, 'Hello'), (2, 'World')]) print("\nSanakirja käyttämällä avain-arvo-pareja tuple-listasta: ") print(Dict)Tuloste: Sanakirja käyttämällä avain-arvo-pareja tuple-listasta: {1: ‘Hello’, 2: ‘World’} [/code>
Muista, että avaimet ovat kirjainkooltaan herkkiä.
Katsotaanpa lyhyesti, mitkä menetelmät ovat käytettävissä Pythonin sanakirjassa.

Ero Pythonin joukkojen ja sanakirjojen välillä
Joukko on arvojen kokoelma, joka ei välttämättä ole samaa tyyppiä, kun taas sanakirja tallentaa avain-arvo-pareja.
Pythonin joukot ovat tietokokoelmia, joilla ei ole mitään järjestystä tai avaimia. Joukko ei tallenna mitään tietoa jäsenistään muuta kuin niiden identiteetti. Sanakirjat ovat kokoelmia, jotka yhdistävät ainutlaatuiset avaimet arvoihin. Lisäksi sanakirjat tallentavat tietoa jäsenistään, mukaan lukien avain-arvo-pari.
Olemme siis rakentaneet perustavanlaatuista ymmärrystä listoista, tupleista, joukoista ja sanakirjoista Pythonissa. Olemme myös tutkineet joitakin toimintoja ja niiden toteutuksia.
Voit myös pitää JavaScript-kurssistamme aloittelijasta edistyneeseen.
Robert Whitney
JavaScript-asiantuntija ja opettaja, joka valmentaa IT-osastoja. Hänen päämääränsä on nostaa tiimin tuottavuutta opettamalla muille, kuinka tehdä tehokasta yhteistyötä koodauksen aikana.
Python Course From Beginner to Advanced in 11 blog posts:
- Pythonin tuplet, listat, joukot ja sanakirjat. Osa 3 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Pythonin funktiot. Osa 7 Python-kurssi aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Johdatus Python-kurssiin. Osa 1 Python-kurssi aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Muuttujat ja tietotyypit Pythonissa. Osa 2 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Pythonin joukot ja sanakirjat. Osa 4 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Python-luokat ja -oliot. Osa 9 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Tiedostot Pythonissa. Osa 10 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Silmukat Pythonissa. Osa 6 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa
- Edistyneet toiminnot Pythonissa. Osa 8 Python-kurssista aloittelijasta edistyneeseen 11 blogikirjoituksessa