Home
» Power BI
»
Python szótár – Minden, amit tudnod kell
Python szótár – Minden, amit tudnod kell
A Python szótárak egy hihetetlenül hasznos adatstruktúra, amelyhez gyakran kell nyúlni programozási erőfeszítései során. Egyedülálló képességük, hogy a kulcsokat hozzárendeljék a megfelelő értékekhez, gyors, hatékony hozzáférést és egyszerűsített kódot tesz lehetővé összetett adatkészletek kezelésekor.
A Python szótárak alapvetően asszociatív tömbök megvalósítását jelentik. Rugalmas és hatékony módot biztosítanak az adatok tárolására és manipulálására kulcs-érték párok formájában.
Nagyon sokoldalúak, és képesek a cserélhető és rendezett gyűjtemények befogadására anélkül, hogy lehetővé tennék a kulcsok megkettőzését.
Ahogy ebben a cikkben belemerülünk a szótárakba, azt találja, hogy hatékony eszközök az adatok rendszerezésére és elérésére.
Tehát feltétlenül ismerkedjen meg a szótárak csínjával-bínjával, hogy teljes potenciálját kiaknázza projektjeiben!
A szótár egy hatékony és rugalmas adatstruktúra, amely lehetővé teszi kulcs-érték párok gyűjteményének tárolását. Gondoljon a szótárra úgy, mint arra, hogy a kulcsokat hozzárendelje a megfelelő értékekhez, megkönnyítve ezzel egy adott azonosítóhoz kapcsolódó információk lekérését.
Szótár létrehozásához használhat kapcsos zárójeleket ( { } ), amelyek a kulcs-érték párok vesszővel elválasztott listáját tartalmazzák. Például:
Ne feledje, hogy a Python szótárai változtathatók, ami azt jelenti, hogy a létrehozásuk után módosíthatja a tartalmukat. Kulcsérték pár hozzáadásához vagy frissítéséhez egyszerűen használja a következő szintaxist:
your_dict["new_key"] = "new_value"
#You can also update an old key's value
your_dict["old_key"] = "new_value"
Ha egy szótárban lévő értékekről van szó, csak a kulcsra van szüksége:
value = your_dict["key1"]
Ha olyan kulcshoz próbál hozzáférni, amely nem létezik a szótárban, Kulcshiba jelenik meg. Ennek elkerülésére használhatja a get() metódust:
value = your_dict.get("non_existent_key", "default_value")
Egy dologra emlékezned kell, hogy a Python szótár nem tartalmazhat duplikált kulcsokat. Minden kulcsnak egyedinek és megváltoztathatatlan adattípusúnak kell lennie.
Használhat például egy tuple-t, String-et, Integer-t vagy akár logikai értéket a kulcshoz. Listákat, szótárakat vagy készleteket azonban nem használhat.
Az értékekre nincs ilyen korlátozás. Használhat módosítható és megváltoztathatatlan adattípusokat is.
Egy elem eltávolítása a szótárból a del kulcsszó használatával történik :
del your_dict["key1"]
Számos módszert is kínálnak a tartalmukon keresztüli iterációhoz. Például ismételheti a szótár kulcsait, értékeit vagy akár mindkettőt:
for key in your_dict.keys():
print(key)
for value in your_dict.values():
print(value)
for key, value in your_dict.items():
print(key, value)
Mostantól ezeket a szótári módszereket és technikákat használhatja az adatok hatékony tárolására, visszakeresésére és manipulálására, miközben a -val dolgozik.
Hogyan készítsünk Python szótárt
Python szótárak létrehozásának két fő módja van: zárójelek és a dict() konstruktor használatával.
Göndör zárójelek használata
Az egyik módszer, amellyel szótárt hozhat létre, a zárójelek ( {} ) használata . Egy üres szótár inicializálásához egyszerűen használhatja az empty_dict = {} parancsot .
Kulcs-érték párokat tartalmazó szótár létrehozásához válassza el a kulcsokat és az értékeket kettősponttal. Ezután válassza el az egyes párokat vesszővel:
Ezzel a formátummal egy Python-szótárt hozott létre három kulcs-érték párral. Ne feledje, hogy a kulcsoknak egyedinek kell lenniük, míg a szótári értékek megkettőzhetők.
A Dict Constructor használata
Egy másik módszer Python szótár létrehozására a dict() konstruktor használata . Üres szótár létrehozásához egyszerűen hívja meg ezt a függvényt argumentumok nélkül: empty_dict = dict() .
Szótár létrehozásához a dict() konstruktor használatával a következő szintaxist használhatja:
Ez a módszer egy Python-szótárt is létrehoz három kulcsérték elemmel. Vegye figyelembe, hogy a curly brackets metódussal ellentétben a dict() konstruktor nem igényel idézőjeleket a billentyűk körül.
A szótári értékek azonban továbbra is idézőjeleket igényelnek
Most, hogy már ismeri a Python-szótárak létrehozásának két módját, elkezdheti implementálni őket a kódjába, és kihasználhatja hatékony funkcióikat az alkalmazásaiban.
A szótárelemek elérése
Ebben a részben megismerheti a szótár elemeinek elérésének különböző módjait. A szótárak kulcs-érték párokban tárolják az adatokat, és az egyes szótári értékekhez hozzáférhet a megfelelő kulcsokkal.
Két népszerű módszert fogunk ismertetni: A kulcsok használatát és a get módszert.
Kulcsok használata
A szótárelemek elérésének egyik legegyszerűbb módja a billentyűk használata. Egy adott szótárkulcs értékének meghatározásához egyszerűen tegye a kulcsot szögletes zárójelek közé a szótár neve mellé:
Ebben a példában a name_value a 'János' karakterláncot tárolja . Ne feledje, hogy ha nem létező kulcshoz próbál hozzáférni, a Python KeyError- t vet fel .
A Get Method használata
A kulcsok közvetlen használatának alternatívája a get() metódus, amely lehetővé teszi a szótár elemeinek elérését anélkül, hogy fennállna a KeyError kockázata. Ehelyett a get metódus alapértelmezett értéket ad vissza, ha a megadott kulcs nem található:
Ebben a példában a név_érték a „ János ” karakterláncot tárolja, mint korábban, mivel a „ name ” kulcs szerepel a szótárban. A country_value azonban az alapértelmezett " Kulcs nem található " értéket tárolja, mivel az " ország " kulcs nem létezik a szótárban.
A get() metódus rugalmasabb módot biztosít a szótárelemek elérésére, mivel lehetővé teszi a hiányzó kulcsok kecses kezelését. Bármelyik módszert is választhatja, attól függően, hogy milyen igényei vannak, és a nem létező kulcsokkal való találkozás lehetőségétől függően.
A szótár elemeinek módosítása
Ebben a részben megtudhatja, hogyan módosíthatja az elemeket a Python szótárban. Ennek megvalósításához két elsődleges művelet van: új elemek hozzáadása és a meglévők frissítése.
Mindkét módszer segít megőrizni a szótár pontosságát és hasznosságát. Nézzük őket:
Új elemek hozzáadása
Új elem hozzáadása a szótárhoz egyszerű. Ehhez adja meg az új kulcs-érték párt egy hozzárendelési operátor segítségével, például:
Ha egyszerre több elemet kell frissítenie, használja újra az update() metódust. Használatához adjon át egy új szótárt, amely tartalmazza a kívánt módosításokat.
Például frissítsük a your_dict szótárt a frissítési szótár értékeivel:
Ezek a műveletek elengedhetetlen eszközök a munkavégzés során, mivel lehetővé teszik az adatszerkezetek naprakészen tartását és pontosságát.
A szótár elemeinek törlése
Ebben a részben a szótárelemek Pythonban való törlésének két általános módját fogjuk megvizsgálni: a del kulcsszót és a clear() metódust.
Del Kulcsszó
A del kulcsszó egy adott kulcs-érték pár eltávolítására szolgál a szótárból. Helyben működik, és KeyError-t vet fel, ha a kulcs nem létezik a szótárban. Egy elem törléséhez egyszerűen használja a következő szintaxist:
del my_dict[key]
Például, ha törölni akar egy „ márka ” nevű kulcsot a my_dict nevű szótárból, akkor ezt írja be:
del my_dict["brand"]
Ne feledje, hogy a del kulcsszó használata előtt célszerű ellenőrizni, hogy a kulcs szerepel-e a szótárban. Ezt úgy teheti meg, hogy ellenőrizze, hogy a kulcs benne van-e a szótárban:
if "brand" in my_dict:
del my_dict["brand"]
Clear Method
A clear() metódus egy másik módja a szótárelemek törlésének. Ez a módszer egyetlen műveletben eltávolítja a szótár összes kulcsát és értékét, és üres szótárt eredményez.
A clear() metódus használatához a szótárban egyszerűen hívja meg. Például, ha van egy létező, my_dict nevű szótárad, és el szeretnéd távolítani annak teljes tartalmát, akkor ezt írd:
my_dict.clear()
Összefoglalva, két módszert tanult meg elemek törlésére a Python szótárból: a del kulcsszót az egyes kulcs-érték párok eltávolítására és a clear() metódust a teljes szótár kiürítésére.
Melyek a gyakori szótári módszerek?
Ebben a részben néhány gyakori Python szótári módszert fogunk megvizsgálni. Ezek a beépített módszerek segítenek a szótárak szükségleteinek megfelelő kezelésében és módosításában.
Kulcsok
Az összes kulcs lekéréséhez a szótárból használhatja a keys() metódust. Ez egy nézetobjektumot ad vissza, amely a szótár összes kulcsát tartalmazza.
Ha egyszerre kell elérnie a kulcsokat és az értékeket, használja az items() metódust. Ez egy nézetobjektumot ad vissza, amely kulcs-érték párokat tartalmaz sorok formájában.
Az update() metódus lehetővé teszi a szótár módosítását kulcsérték elemek hozzáadásával vagy frissítésével. A módszer használatához meg kell adni egy szótárt argumentumként.
Két szótár egyesítéséhez vagy adott kulcsok frissítéséhez használja ezt a módszert:
Ezekkel a módszerekkel hatékonyan kezelheti és kezelheti szótárait, hogy különféle feladatokat hajtson végre.
Python szótárak használata
Ebben a részben megismerheti a szótárakkal való munkavégzés különböző technikáit, például a rájuk való hurkolást, a szótárak megértését és a beágyazott szótárak használatát.
Looping Over Szótárak
A szótárban való hurkoláshoz használhatja a beépített items() metódust a kulcs-érték párok közötti iterációhoz. Ez lehetővé teszi a műveletek végrehajtását mind a kulcsokkal, mind az értékekkel olvashatóan és hatékonyan.
Íme egy példa:
my_dict = {"apple": 1, "banana": 2, "cherry": 3}
for key, value in my_dict.items():
print(key, value)
Alternatív megoldásként használhatja a keys() és értékek() metódusokat a szótári kulcsok vagy értékek kizárólagos iterálására.
Mik azok a szótári megértések?
A szótárak megértése tömör módja a szótárak egyetlen kódsor felhasználásával történő létrehozásának. Hasonlítanak a listás szövegértésekhez, de helyette szótárakat használnak.
Íme egy példa egy szótári megértésre, amely négyzetre emeli a számokat 1-től 5-ig:
squared_numbers = {num: num**2 for num in range(1, 6)}
A szótárak megértése rendkívül értékes lehet olyan feladatoknál, mint a szótárak szűrése vagy az értékek átalakítása.
Mik azok a beágyazott szótárak?
A beágyazott szótárak olyan szótárak, amelyek értékként más szótárakat is tartalmaznak. Használhatók összetett hierarchikus adatstruktúrák ábrázolására.
Egy beágyazott szótár elemének eléréséhez használjon többszörös indexelést:
name_p1 = nested_dict["person1"]["name"]
A beágyazott szótárak elemeit szükség szerint tovább szerkesztheti vagy módosíthatja. Ne felejtse el nyomon követni a kulcsokat és a beágyazási szinteket, amikor összetett beágyazott szótárak használatával dolgozik, hogy elkerülje a félreértéseket és a hibákat.
Gyakori szótárhasználati esetek
A Python szótárak sokoldalúak, lehetővé téve a különféle adattípusok rendszerezését és kezelését. Ebben a részben a szótárak néhány gyakori felhasználási esetét tekintheti meg, amelyek javítják a megértést, és segítenek hatékonyan megvalósítani ezeket a projektekben.
1. Kulcsérték adatok tárolása : A szótárak ideálisak egyedi kulcsokkal és kapcsolódó értékekkel, például felhasználónevekkel és felhasználói információkkal vagy termékazonosítókkal és termékadatokkal rendelkező adatok tárolására:
Ennek egy példája látható ebben a videóban, amely a Google News Aggregator készítése a LuckyTemplates alkalmazásban Python használatával című videójában található.
Ebben a videóban egy szótárt használunk a GoogleNews API-hívásból származó adatértékek tárolására.
2. Előfordulások számlálása : A szótárak segítségével megszámolhatja az elemek előfordulását, például a szavak gyakoriságát a dokumentumban. Az egyedi elemeket jelző kulcsok és a számot jelző értékek segítségével hatékonyan kezelheti ezeket az adatokat.
Érdekes tény, hogy ezt megteheti a Python Collections modul Counter osztályával . Bevesz egy rendezetlen listát, és visszaad egy szótárat, amelyben minden egyedi elem kulcsként, gyakoriságuk pedig megfelelő értékként szerepel.
3. Kulcsok hozzárendelése több értékhez : Ha több értéket kell tárolnia minden szótárkulcshoz, használhat listákat vagy készleteket értékként a szótárban:
4. Számított eredmények gyorsítótárazása : A szótárak használhatók költséges műveletek eredményeinek gyorsítótárazására. Ez különösen hasznos a memoizációs technikákban és a dinamikus programozásban, ahol a számítások eredményeit tárolja a redundáns számítások elkerülése érdekében.
5. Invertált indexek létrehozása : Olyan esetekben, mint a keresőmotorok, szükség lehet egy fordított indexre, amely minden keresési kifejezést leképez a kifejezést tartalmazó erőforrások listájára. A szótárak használata lehetővé teszi ezen adatok hatékony tárolását:
Ez csak néhány példa a Python szótárak erejének és sokoldalúságának illusztrálására. Ha megérti ezeket a használati eseteket és alkalmazásaikat, kihasználhatja a szótárak teljes potenciálját, hogy hatékony megoldásokat készítsen programozási feladataira!