Ez a cikk segít az olvasónak megérteni az alapvető Python halmazokat és szótárakat néhány alapvető alkalmazással a valóságban. A Visual Studio Code-ot fogjuk használni kód szerkesztőként. Ha még nem telepítetted a Visual Studio Code-ot, az utasításokat a korábbi blogban találod.

Python halmazok és szótárak – tartalomjegyzék:

  1. Python halmazok
  2. Műveletek Python halmazokban
  3. Szótárak Pythonban
  4. Különbség a Python halmazok és szótárak között

Python halmazok

Egy halmaz egy módosítható és rendezetlen gyűjteménye az egyedi elemeknek. A halmazt kapcsos zárójelek ({}) között írjuk, az elemeket pedig vesszők választják el egymástól.

Definiálható a beépített set([iterable]) függvénnyel is. Ez a függvény egy iterálható (azaz bármilyen típusú sorozat, gyűjtemény vagy iterátor) argumentumot vár, és egy halmazt ad vissza, amely az inputból származó egyedi elemeket tartalmaz (a duplikált elemek eltávolításra kerülnek).

Például:

# Hozz létre egy halmazt
# Egy karakterláncból
print(set('Dev'))
Kimenet:
{'e', 'v', 'D'}
# egy listából
set(['Mayank', 'Vardhman', 'Mukesh', 'Mukesh'])
Kimenet:
{'Mayank', 'Mukesh', 'Vardhman'}
# Egy tuple-ból
set(('Lucknow', 'Kanpur', 'India'))
Kimenet:
{'India', 'Kanpur', 'Lucknow'}
# egy szótárból 
set({'Sulphur': 16, 'Helium': 2, 'Carbon': 6, 'Oxygen': 8})
Kimenet:
{'Carbon', 'Helium', 'Oxygen', 'Sulphur'}
[/code>

<p>Most már tudjuk, hogyan kell halmazokat létrehozni. Nézzük meg, mik a közös műveletek a halmazokban.</p>
<h2 id="secondparagraph">Műveletek Python halmazokban</h2>
<h3>Elem hozzáadása egy halmazhoz</h3>
<p>Az elem hozzáadásának szintaxisa: set.add(element).</p>
<p>A metódus helyben működik, módosítja a halmazt, és 'None'-t ad vissza.</p>
<p>Például:</p>
[code lang="js"]
locations = set(('Lucknow','kanpur','India'))
locations.add('Delhi')
print(locations)
Kimenet:
{'India', 'Delhi', 'Lucknow', 'kanpur'}
[/code>

<p>Python halmazokban nem tudunk elemet beszúrni egy adott indexbe, mert nem rendezettek.</p>

<h3>Elem eltávolítása egy halmazból</h3>
<p>Három módszer van, amellyel eltávolíthatunk egy elemet egy halmazból.</p>
<p>Az alábbiakban találhatók:</p>
<ul>
	<li>set.remove(element)</li>
	<li>set.discard(element)</li>
	<li>set.pop()</li>
</ul>

<p>Értsük meg ezt egy-egy példa segítségével minden megvalósításra:</p>

<strong>set.remove(element)</strong>
[code lang="js"]
locations = set(('Lucknow', 'kanpur', 'India'))
#Eltávolítja Lucknow-t a halmazból
locations.remove('Lucknow')
print(locations)
Kimenet:
{'India', 'kanpur'}
[/code>

<strong>set.discard(element)</strong>
[code lang="js"]
locations = set(('Lucknow', 'kanpur', 'India'))
# Eltávolítja 'Lucknow'-t a halmazból
locations.discard('Lucknow')
print(locations)
Kimenet:
{'India', 'kanpur'}
[/code>

<p>Ahogy látható, mind a 'remove', mind a 'discard' metódus helyben működik, és módosítja ugyanazt a halmazt, amelyen hívják őket. 'None'-t adnak vissza.</p>
<p>Az egyetlen különbség a 'remove' és a 'discard' függvény között az, hogy a 'remove' függvény kivételt (KeyError) dob, ha az 'element' nem található a halmazban. A kivétel nem dobódik a 'discard' esetében.</p>

<strong>set.pop()</strong>
[code lang="js"]
locations = set(("Lucknow", 'Kanpur', 'India'))
# Eltávolítja 'Lucknow'-t a halmazból
removed_location = locations.pop()
print(locations)
print(removed_location)
Kimenet:
{'Kanpur', 'Lucknow'} 
India
[/code>

<p>A 'pop' függvény nem fogad el argumentumokat, és eltávolít egy tetszőleges elemet a halmazból. Helyben működik, de más módszerekkel ellentétben visszaadja az eltávolított elemet.</p>
<p>Tehát, áttekintettük a listákat, tuple-öket és a Python halmazokat. Most végül nézzük meg, hogyan működnek a dolgok a Python szótárakban.</p>

<h2 id="thirdparagraph">Szótárak Pythonban</h2>
<p>A Python szótárak alapvető adattípusok az adatok tárolására és lekérdezésére.</p>
<p>A szótár egy beépített adatszerkezet, amely kulcs:érték párokat tárol, és hozzáférhetünk a kulcs vagy az érték alapján. <a href="https://en.wikibooks.org/wiki/Python_Programming/Dictionaries" target="_blank" rel="noopener">A Python szótárak</a> rendezetlenek, és a kulcsok nem lehetnek negatív egész számok. Ezen kívül, míg a kulcsoknak változatlannak kell lenniük, az értékeknek nem szükséges annak lenniük.</p>
<p>A szótár létrehozásának szintaxisa, hogy két szögletes zárójelet helyezünk el bármilyen karakterlánc után, amelyet egy kettőspont követ (pl. {'a': 'b'}); ha több mint egy sorozatot adunk meg, akkor azokat külön zárójelekbe kell tenni (pl. {'a': 'b', 'c': 'd'}).</p>

<p>Például:</p>
[code lang="js"]
# Üres szótár létrehozása
Dictionary = {}
print("Üres szótár: ")
print(Dictionary)
Kimenet:
Üres szótár: {}
[/code>

<p>Szótárat a beépített 'dict()' függvény segítségével is létrehozhatunk.</p>
<p>Nézzük meg, hogyan tudjuk létrehozni:</p>
[code lang="js"]
# Szótár létrehozása
# A dict() metódussal
Dictionary = dict({1: 'Hello', 2: 'World', 3: '!!!'})
print("\nSzótár a dict() metódus használatával: ")
print(Dictionary)
Kimenet:
Szótár a dict() metódus használatával: 
{1: 'Hello', 2: 'World', 3: '!!!'}
[/code>

<p>Most nézzük meg, hogyan hozhatunk létre szótárat kulcs-érték párból álló tuple-ök listájával:</p>

[code lang="js"]
# Szótár létrehozása
Dict = dict([(1, 'Hello'), (2, 'World')])
print("\nSzótár kulcs-érték párból álló tuple-ök listájával: ")
print(Dict)
Kimenet: Szótár kulcs-érték párból álló tuple-ök listájával: {1: ‘Hello’, 2: ‘World’} [/code>

Ne feledd, hogy a kulcsok érzékenyek a kis- és nagybetűkre.

Nézzük meg röviden, milyen módszerek találhatók a Python szótárban.

python_sets

Különbség a Python halmazok és szótárak között

A halmaz egy értékek gyűjteménye, nem feltétlenül azonos típusú, míg a szótár kulcs-érték párokat tárol.

A Python halmazok olyan adatok gyűjteményei, amelyeknek nincs sorrendjük vagy kulcsaik. A halmaz nem tárol semmilyen adatot a tagjairól, csak azok identitását. A szótárak olyan gyűjtemények, amelyek egyedi kulcsokat térképeznek fel értékekhez. Továbbá, a szótárak tárolják a tagjaikra vonatkozó információkat, beleértve a kulcs-érték párt is.

Tehát, alapvető megértést szereztünk a listákról, tuple-ökről, halmazokról és szótárakról Pythonban. Néhány függvényt és azok megvalósítását is megvizsgáltuk.

Érdekelhet még a JavaScript tanfolyamunk kezdőtől a haladó szintig.

Robert Whitney

JavaScript szakértő és oktató, aki IT osztályokat mentorál. Fő célja, hogy növelje a csapat termelékenységét azáltal, hogy megtanítja másoknak, hogyan működjenek együtt hatékonyan a kódolás során.

View all posts →