Ismerje meg a Python szótár adatszerkezetét – 3. rész
A Python Data Structure sorozat ebben a 3. részében megvitatjuk, mi az a szótár, miben különbözik a python egyéb adatstruktúráitól, hogyan lehet szótárobjektumokat létrehozni, törölni, valamint szótárobjektumok módszereit.
- A szótár a „Python Data Structure” beépített megvalósítása, amely a „Kulcs: Érték” párok gyűjteménye.
- A szótár kapcsos zárójelekkel jön létre, a kulcsot és az értéket pontosvesszővel {Kulcs : Érték} választja el.
- A listához hasonlóan a szótárobjektumok is változtatható adattípusok, ami azt jelenti, hogy az objektumok a szótár létrehozása után módosíthatók.
- A szótármegvalósítás konstrukciója a pythonban általánosabban "Associative array" néven ismert.
- A listában vagy a tuplesben az elemeket az indexpozíciójukra való hivatkozással érhetjük el, mivel a listán belüli elemek sorrendben vannak (vagyis a létrehozásuk sorrendjében tárolódnak). A szótárobjektumok tetszőleges sorrendben lehetnek, mivel az elemek a hozzá tartozó „kulcs” használatával érhetők el.
- A szótárak nagyon hasznosak, ha tárolnunk kell az objektumokat és név szerint hivatkoznunk kell rájuk.
- A szótár „kulcs” objektumának egyedi és megváltoztathatatlan típusúnak kell lennie.
- A szótár „Kulcs” objektuma karakterlánc, egész vagy lebegő értékek lehetnek.
- A „Értékek” szótár bármilyen adattípusú lehet.
Építsd meg a szótárobjektumot
A Szótár objektumot kapcsos zárójelekkel lehet létrehozni pontosvesszővel elválasztó kulcs és értékpár „{Key:value} ” vagy „dict() ” konstruktorral módszer.
Ennek bemutatására készítek egy szótárt, amely adatokat tárol a futballcsapatról és a játékos XI-ről, kulcs és játékos pozícióval. nevek értékekként.
A dict() konstruktor metódus segítségével szótárobjektumot hozhat létre.
Hozzáférés a szótár objektumához
A szótár elemei indexelés helyett „kulcs” hivatkozásokkal érhetők el. Indexelésre akkor van lehetőség, ha a szótárban bármilyen adattípus (karakterlánc, lista, sorok, stb.) található.
Az elemek a dic_object["key "] paranccsal érhetők el.
A „KeyError ” felirat megjelenik, ha indexeléssel próbál hozzáférni a szótár elemeihez, vagy ha olyan „kulcsot” próbál elérni, amely nem része a szótárnak.
Szótárobjektum módosítása és törlése
Módosíthatja a meglévő elemet, vagy hozzáadhat új elemet, ha közvetlenül hivatkozik a kulcsára: Dictionary_object[“kulcs ”]=érték. Ez frissíti az értéket, ha a kulcs elérhető, különben új elemet ad hozzá a szótárhoz.
Töröl
Törölhet egy adott értéket a kulcsa alapján, vagy törölhet egy kulcsot vagy törölhet szótárobjektumot a névtérből a beépített „del” kulcsszó használatával.
Szótári módszerek
A beépített „dir()” függvény segítségével megkeresheti a szótárobjektum elérhető metódusait és attribútumait.
clear() – Ez a módszer eltávolítja az összes elemet a szótárobjektumból. Ez a módszer nem igényel érveket.
Copy() – Egy szótárobjektum sekély másolatát adja vissza. A copy() metódus nem vesz paramétereket argumentumként.
Kulcsok() – Ez a metódus nézetobjektumot ad vissza a szótárban elérhető kulcsokhoz szótár kulcsobjektumként. Ez a módszer nem igényel érveket.
Értékek() – Ez a metódus egy nézetobjektumot ad vissza a szótárobjektumból származó értékekhez. Ez a módszer nem igényel érveket.
Elemek() – Ez a módszer egy tuple(kulcs,érték) párt ad vissza a szótárobjektumból.
Setdefault() – Ez a módszer egy adott kulcsra keres egy szótárban. Ha a kulcs nem található a szótárban, akkor bekerül a szótárba.
2 argumentum szükséges: dic.setdefault(key,[,default value]).
Az alapértelmezett érték Nincs, ha nincs megadva érték.
get() – Ez a metódus a megadott kulcs értékét adja vissza, ha a kulcs elérhető egy szótárban.
Syntax dict.get(key[, value])
Ez a módszer 2 argumentumot igényel. Az első a bemeneti argumentum, amely megkeresi az adott kulcsot a szótárban, és visszaadja a megtalált kulcs értékét. A második argumentum visszaadja az értéket, ha nem található kulcs. Az alapértelmezett visszatérési érték „Nincs”.
Update() – Frissítési módszer elemek hozzáadása a szótárhoz, ha a kulcs nem szerepel a szótárban. Ha megtalálja a kulcsot, a kulcs frissül az új értékkel. A frissítési metódus elfogadja a k: v pár egy másik szótári objektumát, vagy a k: v pár, mint sorpárszerű iterálható objektumát.
Szótárobjektum eltávolítása/törlése
Pop() – Ez a módszer eltávolítja az értéket a bemeneti kulcs alapján, és visszaadja az eltávolított értéket.
Ez a módszer két paramétert fogad el.
- Kulcs – A szótárobjektumban keresendő kulcs.
- Alapértelmezett – Megadandó visszatérési érték, ha a kulcs nem található a szótárban.
MEGJEGYZÉS Ha a kulcs nem található a szótárban, és nem adja meg az alapértelmezett értéket, akkor a „KeyError ” felirat jelenik meg.
Popitem() – Tetszőleges elemek eltávolítása a szótárobjektumból. A rendszer nem fogad el argumentumot, és „KeyError”-t ad vissza, ha a szótár üresnek mondható.
A list és a tuples-hez hasonlóan használhatunk egy del kulcsszót a szótárobjektum elemeinek eltávolítására, vagy a szótárobjektum eltávolítására a névtérből.
Összegzés
Ebben a cikkben láthatta, mi az a szótár, és miben különbözik a python többi adatszerkezetétől. Azt is láthatta, hogyan lehet szótárobjektumokat létrehozni, elérni, módosítani és törölni.
A szótár optimális használati esete az, amikor az adatokat név alapján kell tárolnunk, és a névvel hivatkoznunk kell rájuk. A következő cikkben egy másik típusú python beépített adatszerkezetet fogunk látni „set/Frozenset ” . Addig is itt olvashat bővebben a szótárakról.