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:

  1. Pythonin joukot
  2. Toiminnot Pythonin joukoissa
  3. Sanakirjat Pythonissa
  4. 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.

python_sets

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.

View all posts →