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.

Szintaxis a számára Python Szótár

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.

Foglald össze ezt a bejegyzést a következőképpen: