Szótár be Python szintaxis és példa segítségével
Miben található a szótár Python?
A Szótár be Python az adatértékek rendezetlen és változtatható gyűjteménye, amely kulcs-érték párokat tartalmaz. A szótárban minden kulcs-érték pár leképezi a kulcsot a hozzá tartozó értékre, így optimalizálva. A python szótárát a kulcs-érték párok vesszővel elválasztott listájának megadása kapcsos kapcsos zárójelek ({}) segítségével jelenti. Python A szótár két részre osztható: kulcsokra és értékekre.
- A kulcsok egyetlen elemből állnak
- Az értékek lehetnek lista vagy listán belüli lista, számok stb.
Szintaxis a számára Python Szótár
Dict = { ' Tim': 18, xyz,.. }
A szótár göndör zárójelben szerepel, ezeken belül a kulcsok és értékek deklarálva vannak. Minden kulcsot kettőspont (:) választ el az értékétől, míg az egyes elemeket vessző választja el.
A szótárkulcsok tulajdonságai
A szótárbillentyűk használata során két fontos pont van
- Kulcsonként egynél több bejegyzés nem megengedett (kulcs duplikációja nem megengedett)
- A szótárban szereplő értékek bármilyen típusúak lehetnek, míg a billentyűknek változtathatatlannak kell lenniük, mint a számoknak, sorok
- A szótárkulcsok megkülönböztetik a kis- és nagybetűket – ugyanaz a kulcsnév, de a különböző esetekkel eltérő kulcsként kezelik őket Python szótárak.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print (Dict['Tiffany'])
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print((Dict['Tiffany']))
- A kódban a „Dict” szótárnév található
- A szótárban megadtuk a személy nevét és életkorát, ahol a név „Kulcsok”, az életkor pedig az „érték”
- Most futtassa a kódot
- Kikeresi Tiffany korát a szótárból.
Python Szótári módszerek
Szótár másolása
A teljes szótárat átmásolhatja egy új szótárba. Például itt átmásoltuk az eredeti szótárunkat az új „Fiúk” és „Lányok” névre.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
- Megvan az eredeti szótár (Dict) a fiúk és lányok nevével és életkorával együtt
- De szeretnénk, ha a fiúk listája külön lenne a lányok listájától, ezért a fiúk és lányok elemét külön szótárban határoztuk meg: „Fiúk” és „Lányok”.
- Most ismét létrehoztunk egy új „diák X” és „Y diák” szótárnevet, ahol a fiú szótár összes kulcsa és értéke átmásolódik X tanulóba, a lányok pedig a diákY-be.
- Így most már nem kell belenézned a teljes listába a főszótárban (Dict), hogy ellenőrizd, ki fiú és ki lány, csak ki kell nyomtatnod X diákot, ha fiúlistát akarsz, és StudentY-t, ha lánylistát.
- Tehát, amikor futtatja a tanuló X és diák Y szótárát, az a „fiúk” és a „lányok” szótárában található összes elemet külön-külön megadja.
Szótár frissítése
A szótárat úgy is frissítheti, hogy új bejegyzést vagy kulcs-érték párat ad egy meglévő bejegyzéshez, vagy töröl egy meglévő bejegyzést. Itt a példában egy másik nevet, „Sarah”-t adunk a meglévő szótárunkhoz.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sarah":9})
print Dict
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sarah":9})
print(Dict)
- Meglévő „Dict” szótárunkban nem szerepel a „Sarah” név.
- A Dict.update módszerrel hozzáadjuk Sarah-t meglévő szótárunkhoz
- Most futtassa a kódot, és hozzáadja Sarah-t a meglévő szótárunkhoz
Kulcsok törlése a szótárból
Python szótár lehetőséget ad arra, hogy bármely elemet töröljön a szótárlistából. Tegyük fel, hogy nem szeretné, hogy a Charlie név szerepeljen a listában, ezért a következő kóddal eltávolíthatja a kulcselemet.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print Dict
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print(Dict)
A kód futtatásakor ki kell nyomtatnia a szótárlistát Charlie nélkül.
- A del Dict kódot használtuk
- A kód végrehajtásakor törölte a Charlie-t a főszótárból
Szótárelemek() Módszer
Az items() metódus a sorpárok (kulcsok, érték) listáját adja vissza a szótárban.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "Students Name: %s" % Dict.items()
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Students Name: %s" % list(Dict.items()))
- A Dict-ünkhöz a code items() metódust használjuk.
- A kód végrehajtásakor a szótár elemeinek (kulcsok és értékek) listáját adja vissza
Ellenőrizze, hogy az adott kulcs létezik-e már a szótárban
Egy adott listánál azt is ellenőrizheti, hogy a gyermekszótárunk létezik-e a főszótárban vagy sem. Itt van két alszótárunk, a „Fiúk” és a „Lányok”, most azt szeretnénk ellenőrizni, hogy a Fiúk szótárunk létezik-e a fő „Diktunkban” vagy sem. Ehhez a for loop metódust használjuk az else if metódussal.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
if key in Dict.keys():
print True
else:
print False
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
if key in list(Dict.keys()):
print(True)
else:
print(False)
- Az forloop kódban ellenőrzi a főszótár minden billentyűjét a Boys kulcsokért
- Ha létezik a főszótárban, igaz, vagy hamis értéket kell nyomtatnia
- Amikor végrehajtja a kódot, háromszor kiírja az „Igaz” szöveget, mivel a „Fiúk” szótárunkban három elem található.
- Tehát azt jelzi, hogy a „Fiúk” léteznek a fő szótárunkban (Dict)
A szótár rendezése
A szótárban az elemeket is rendezheti. Ha például a szótárunk elemeinek nevét ábécé sorrendben akarjuk kiírni, akkor a for ciklust kell használnunk. Ennek megfelelően rendezi a szótár minden elemét.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
print":".join((S,str(Dict[S])))
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
print(":".join((S,str(Dict[S]))))
- A „Dict” szótárunk tanulói változóit deklaráltuk.
- Ezután a Students.sort kódot használjuk, amely rendezi az elemet a szótárunkban
- De a szótár egyes elemeinek rendezéséhez futtatjuk a for ciklust az S változó deklarálásával
- Most, amikor végrehajtjuk a kódot, a for ciklus minden elemet meghív a szótárból, és sorrendben kiírja a karakterláncot és az értéket
Python A szótárba beépített függvények
Szótár len() Módszer
A len() függvény megadja a párok számát a szótárban.
Például,
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "Length : %d" % len (Dict)
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Length : %d" % len (Dict))
A len (Dict) függvény végrehajtásakor „4”-es kimenetet ad, mivel a szótárunkban négy elem található
Változó típusok
Python nem igényli a tartalék memóriaterület kifejezett deklarálását; automatikusan megtörténik. Az „=” egyenlőségjelhez tartozó értékek hozzárendelése használatos. A változó típusát meghatározó kód: "%type (Dict)."
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "variable Type: %s" %type (Dict)
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("variable Type: %s" %type (Dict))
- A változó típusának megismeréséhez használja a %type kódot
- A kód végrehajtásakor azt mondja, hogy a változótípus szótár
Python Lista cmp() metódus
A cmp() összehasonlítási módszert használják Python két szótár értékeinek és kulcsainak összehasonlítására. Ha a metódus 0-t ad vissza, ha mindkét szótár egyenlő, 1-et, ha dic1 > dict2 és -1-et, ha dict1 < dict2.
Python 2 Példa
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
print cmp(Girls, Boys)
Python 3 Példa
cmp is not supported in Python 3
- Két szótári nevünk van: „Fiúk” és „Lányok”.
- Amelyiket először deklarálja a „cmp(Girls, Boys)” kódban, az 1-es szótárnak minősül. Esetünkben először a „Lányok” szótárt határoztuk meg, tehát az 1. szótárnak, a fiúk pedig a 2. szótárnak minősül.
- A kód végrehajtásakor -1-et ír ki. Azt jelzi, hogy az 1. szótárunk kisebb, mint a 2. szótár.
szótár Str(dict)
Az Str() metódussal a szótárból nyomtatható karakterlánc-formátumot készíthetünk.
Python 2 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "printable string:%s" % str (Dict)
Python 3 Példa
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("printable string:%s" % str (Dict))
- Használja a % str (Dict) kódot
- A szótár elemeit nyomtatható karakterlánc-formátumba adja vissza
Itt található az összes szótári módszer listája
| Módszer | Leírás | Szintaxis |
|---|---|---|
| másolat () | A teljes szótár másolása új szótárba | dict.copy() |
| frissítés () | Frissítsen egy szótárt egy új bejegyzés vagy egy kulcs-érték pár hozzáadásával a meglévő bejegyzéshez, vagy egy meglévő bejegyzés törlésével. | Dict.update([egyéb]) |
| elemek () | Visszaadja a szótárban lévő sorpárok listáját (Kulcsok, Érték). | dictionary.items() |
| rendezés () | Az elemeket rendezheti | dictionary.sort() |
| len () | Megadja a párok számát a szótárban. | len(dikt) |
| cmp() | Hasonlítsa össze két szótár értékeit és kulcsait | cmp(dikt1, dikt2) |
| Str() | Készítsen szótárt nyomtatható karakterlánc-formátumba | Str(dikt) |
Szótárak egyesítése
Itt megtudhatja, hogyan lehet két adott szótárt egyetlen szótárba egyesíteni.
Két szótáram van, az alábbiak szerint:
Szótár1 : my_dict1
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
2. szótár: my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Egyesítsük ezeket a két szótárat a saját_dikt.1 és a saját_dikt2. szótárt, és hozzunk létre egyetlen szótárt a nevem_dikt.
Egyesítsen két szótárt az update() metódussal
Az update() metódus segít az egyik szótár egyesítésében a másikkal. A példában a my_dict1 értéket a my_dict2 értékkel frissítjük. Az update() metódus használata után a my_dict1 a my_dict2 tartalmával fog rendelkezni, az alábbiak szerint:
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
print(my_dict1)
output:
{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Szótárak egyesítése ** módszerrel (From Python 3.5-től)
A **-ot Kwargs innek hívják Python, és működni fog Python 3.5+ verzió. A ** használatával két szótárat egyesíthetünk, és visszaadja az egyesített szótárat. Ha a ** karaktert használja a változó előtt, akkor a változó teljes tartalmával lecserélődik.
Íme egy működő példa a ** használatával két könyvtár egyesítésére.
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict = {**my_dict1, **my_dict2}
print(my_dict)
output:
{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Szótári tagsági teszt
Kipróbálhatja, hogy van-e kulcs a jelenben a szótárban vagy sem. Ezt a tesztet csak a szótár kulcsára lehet elvégezni, az értékre nem. A tagsági teszt a in kulcsszó. Amikor a kulcsot a szótárban ellenőrzi a in kulcsszó esetén a kifejezés igazat ad vissza, ha a kulcs jelen van, és false-t, ha nincs.
Íme egy példa, amely a tagsági tesztet mutatja be egy szótárban.
my_dict = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)
output:
True True False
Összegzésként
- A programozási nyelv szótárai egyfajta adatszerkezet, amelyet valamilyen módon összekapcsolt információk tárolására használnak.
- Python A szótár két elemből áll: Kulcsok és Értékek.
- A szótárak nem tárolják az adataikat semmilyen meghatározott sorrendben, így előfordulhat, hogy Ön nem kapja vissza adatait abban a sorrendben, ahogyan megadta.
- A kulcsok egyetlen elemből állnak
- Az értékek lehetnek lista vagy listán belüli lista, számok stb.
- Kulcsonként egynél több bejegyzés nem megengedett (kulcs duplikációja nem megengedett)
- A szótárban található értékek bármilyen típusúak lehetnek, míg a kulcsoknak változtathatatlanoknak kell lenniük, például számoknak, soroknak vagy karakterláncoknak.
- A szótárkulcsok megkülönböztetik a kis- és nagybetűket – ugyanaz a kulcsnév, de a különböző esetekkel eltérő kulcsként kezelik őket Python szótárak.

