Weboldal keresés

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.

  1. Kulcs – A szótárobjektumban keresendő kulcs.
  2. 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.