Sõnastik sisse Python koos süntaksi ja näitega

Milles on sõnastik Python?

A Sõnastik sisse Python on järjestamata ja muudetav andmeväärtuste kogu, mis sisaldab võtme-väärtuste paare. Iga sõnastiku võtme-väärtuse paar kaardistab võtme sellega seotud väärtusega, muutes selle optimeeritumaks. Pythonis olev sõnastik deklareeritakse, lisades komadega eraldatud võtme-väärtuste paaride loendi, kasutades sulgusid ({}). Python Sõnastik on jagatud kahte elementi: võtmed ja väärtused.

  • Klahvid on üks element
  • Väärtused võivad olla loend või loend loendis, numbrid jne.

Süntaks jaoks Python sõnastik

Dict = { ' Tim': 18,  xyz,.. }

Sõnastik on loetletud lokkis sulgudes, nendes lokkis sulgudes deklareeritakse võtmed ja väärtused. Iga võti eraldatakse selle väärtusest kooloniga (:), samas kui komad eraldavad iga elemendi.

Süntaks jaoks Python sõnastik

Sõnastiku võtmete omadused

Sõnastikuklahvide kasutamisel on kaks olulist punkti

  • Rohkem kui üks sisestus võtme kohta ei ole lubatud (dublikaatvõti pole lubatud)
  • Väärtused sõnastikus võivad olla mis tahes tüüpi, samas kui klahvid peavad olema muutumatud nagu numbrid, tuplid
  • Sõnastiku klahvid on tõstutundlikud – sama võtme nimi, kuid erinevate tähtedega käsitletakse neid kui erinevaid võtmeid Python sõnaraamatud.

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • Koodis on meil sõnastiku nimi "Dict"
  • Isiku nime ja vanuse deklareerisime sõnastikus, kus nimi on “Võtmed” ja vanus on “väärtus”
  • Nüüd käivitage kood
  • See otsib sõnastikust tiffany vanuse.

Python Sõnastiku meetodid

Sõnastiku kopeerimine

Samuti saate kogu sõnastiku uude sõnastikku kopeerida. Näiteks oleme siin kopeerinud oma algse sõnastiku uue sõnastiku nimega “Poisid” ja “Tüdrukud”.

Python 2 Näide

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 Näide

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)
  • Meil on originaalsõnastik (Dict), kus on koos poiste ja tüdrukute nimed ja vanus
  • Kuid me tahame, et poiste loend oleks tüdrukute loendist eraldi, seega määratlesime poiste ja tüdrukute elemendi eraldi sõnastikus "Poisid" ja "Tüdrukud".
  • Nüüd oleme taas loonud uued sõnastikunimed “õpilane X” ja “õpilane Y”, kus kõik poisisõnastiku võtmed ja väärtused on kopeeritud õpilasele X ning tüdrukud kopeeritakse õpilane Y.
  • Nii et nüüd ei pea te põhisõnastiku (Dict) kogu loendisse uurima, et kontrollida, kes on poiss ja kes on tüdruk, vaid peate lihtsalt printima õpilase X, kui soovite poiste loendit ja StudentY, kui soovite tüdrukute loendit.
  • Seega, kui käitate õpilase X ja studentY sõnastikku, annab see kõik sõnastikus olevad elemendid "poisid" ja "tüdrukud" eraldi.

Sõnastiku värskendamine

Samuti saate sõnastikku värskendada, lisades olemasolevale kirjele uue kirje või võtme-väärtuse paari või kustutades olemasoleva kirje. Siin näites lisame oma olemasolevasse sõnaraamatusse teise nime "Sarah".

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • Meie olemasoleval sõnaraamatul "Dict" pole nime "Sarah".
  • Kasutame meetodit Dict.update, et lisada Sarah oma olemasolevasse sõnastikku
  • Nüüd käivitage kood, see lisab Sarah meie olemasolevasse sõnastikku

Võtmete kustutamine sõnastikust

Python sõnastik annab teile vabaduse kustutada mis tahes element sõnastiku loendist. Oletame, et te ei soovi nime Charlie loendisse, nii et saate võtmeelemendi eemaldada järgmise koodi abil.

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print(Dict)

Selle koodi käivitamisel peaks see printima sõnastiku loendi ilma Charlieta.

  • Kasutasime koodi del Dict
  • Kui kood on käivitatud, on see Charlie põhisõnastikust kustutanud

Sõnastiku üksused() Meetod

Meetod items() tagastab sõnastikus olevate korteežipaaride loendi (võtmed, väärtus).

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • Me kasutame oma Dicti jaoks meetodit code items().
  • Kui kood käivitati, tagastab see sõnastikust üksuste loendi (võtmed ja väärtused).

Kontrollige, kas antud võti on sõnastikus juba olemas

Antud loendi puhul saate ka kontrollida, kas meie alamsõnaraamat on põhisõnastikus olemas või mitte. Siin on meil kaks alamsõnastikku “Poisid” ja “Tüdrukud”, nüüd tahame kontrollida, kas meie sõnastik Poisid on meie peamises “Diktis” olemas või mitte. Selleks kasutame for loop meetodit else if meetodiga.

Python 2 Näide

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 Näide

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)
  • . forloop koodis kontrollib iga põhisõnastiku klahvi Boysi võtmete olemasolu
  • Kui see on põhisõnaraamatus olemas, peaks see printima tõese või vale
  • Koodi käivitamisel trükitakse see kolm korda "True", kuna meie sõnaraamatus "Boys" on kolm elementi
  • Seega näitab see, et "poisid" on meie põhisõnastikus (dikt) olemas.

Sõnastiku sorteerimine

Sõnastikus saab elemente ka sortida. Näiteks kui tahame trükkida oma sõnastiku elementide nimed tähestikulises järjekorras, peame kasutama tsüklit for. See sorteerib sõnastiku iga elemendi vastavalt.

Python 2 Näide

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 Näide

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]))))
  • Deklareerisime oma sõnastiku "Dict" jaoks muutujad õpilased.
  • Seejärel kasutame koodi Students.sort, mis sorteerib elemendi meie sõnastikus
  • Kuid iga elemendi sortimiseks sõnastikus käivitame tsükli for, deklareerides muutuja S
  • Nüüd, kui me koodi käivitame, kutsub tsükkel for iga sõnastiku elemendi ning prindib stringi ja väärtuse järjekorras

Python Sõnastiku sisseehitatud funktsioonid

Sõnastik len() Meetod

Funktsioon len() annab sõnaraamatu paaride arvu.

Näiteks

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Length : %d" % len (Dict))

Funktsiooni len (Dict) käivitamisel annab see väljundi "4", kuna meie sõnastikus on neli elementi

Muutujate tüübid

Python ei nõua reservmäluruumi selgesõnalist deklareerimist; see toimub automaatselt. Kasutatakse muutuja “=” võrdusmärgi väärtuste määramist. Kood muutuja tüübi määramiseks on "%type (Dict)."

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Muutuja tüübi teadasaamiseks kasutage koodi %type
  • Kui kood käivitati, ütleb see, et muutuja tüüp on sõnastik

Python Nimekiri cmp() meetod

Võrdlusmeetodit cmp() kasutatakse Python võrrelda kahe sõnastiku väärtusi ja võtmeid. Kui meetod tagastab 0, kui mõlemad sõnastikud on võrdsed, 1, kui dic1 > dict2 ja -1, kui dict1 < dict2.

Python 2 Näide

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Python 3 Näide

cmp is not supported in Python 3
  • Meil on kaks sõnastikku: "Poisid" ja "Tüdrukud".
  • Koodis “cmp(Girls, Boys)” esimesena deklareerite, loetakse sõnastikuks 1. Meie puhul deklareerisime esimesena sõna "Tüdrukud", seega käsitletakse seda sõnastikuna 1 ja poisse sõnastikuna 2
  • Kui kood käivitatakse, prindib see välja -1. See näitab, et meie sõnastik 1 on väiksem kui sõnastik 2.

Sõnastik Str(dict)

Str() meetodiga saate muuta sõnastiku prinditavasse stringivormingusse.

Python 2 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Python 3 Näide

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Kasutage koodi % str (Dict)
  • See tagastab sõnastiku elemendid prinditavasse stringivormingusse

Siin on kõigi sõnastikumeetodite loend

Meetod Kirjeldus Süntaks
koopia () Kopeerige kogu sõnastik uude sõnastikku dict.copy()
värskendus () Uuendage sõnastikku, lisades olemasolevale kirjele uue kirje või võtme-väärtuse paari või kustutades olemasoleva kirje. Dict.update ([muu])
esemed () Tagastab sõnastikus olevate korteežipaaride loendi (võtmed, väärtus). dictionary.items()
sort () Saate elemente sortida sõnastik.sort()
len () Annab paaride arvu sõnastikus. len (dikt)
cmp() Võrrelge kahe sõnastiku väärtusi ja võtmeid cmp(dikt1, dikt2)
Str() Muutke sõnastik prinditavasse stringivormingusse Str(dikt)

Sõnaraamatute ühendamine

Siit saate aru, kuidas ühendada kaks antud sõnastikku üheks sõnaraamatuks.

Mul on kaks sõnastikku, nagu allpool näidatud:

Sõnastik1 : minu_dikt1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

Sõnastik 2 : minu_dikt2

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

Ühendagem need sõnastikud minu_dikt1 ja minu_dikt2 ning loome ühe sõnastiku nimega minu_dikt.

Ühendage kaks sõnaraamatut, kasutades meetodit update().

Meetod update() aitab meil ühe sõnastiku teisega liita. Näites värskendame minu_dikt1 väärtusega my_dict2. Pärast meetodi update() kasutamist on my_dict1 sisu my_dict2, nagu allpool näidatud:

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

Väljund:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Sõnaraamatute liitmine **-meetodi abil (alates Python 3.5 ja edasi)

** kannab nime Kwargs in Python, ja see töötab koos Python versioon 3.5+. Kasutades **, saame liita kaks sõnaraamatut ja see tagastab ühendatud sõnastiku. **-i kasutamine muutuja ees asendab muutuja kogu selle sisuga.

Siin on toimiv näide ** kasutamisest kahe kataloogi liitmiseks.

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

Väljund:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Sõnastiku liikmelisuse test

Saate testida, kas võti olevikus on sõnastikus või mitte. Seda testi saab teha ainult sõnastiku võtmega, mitte väärtusega. Liikmelisuse test tehakse kasutades in märksõna. Kui kontrollite klahvi sõnastikus, kasutades in märksõna, tagastab avaldis tõene, kui võti on olemas, ja false, kui võti ei ole.

Siin on näide, mis näitab liikmelisuse testi sõnastikus.

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Väljund:

True
True
False

kokkuvõte

  • Programmeerimiskeeles olevad sõnastikud on teatud tüüpi andmestruktuur, mida kasutatakse mingil viisil ühendatud teabe salvestamiseks.
  • Python Sõnastik koosneb kahest elemendist Võtmed ja Väärtused.
  • Sõnastikud ei salvesta oma teavet kindlas järjekorras, seega ei pruugi te oma teavet saada samas järjekorras, kui selle sisestasite.
  • Klahvid on üks element
  • Väärtused võivad olla loend või loend loendis, numbrid jne.
  • Rohkem kui üks sisestus võtme kohta ei ole lubatud (dublikaatvõti pole lubatud)
  • Väärtused sõnastikus võivad olla mis tahes tüüpi, samas kui klahvid peavad olema muutumatud, nagu numbrid, kordused või stringid.
  • Sõnastiku klahvid on tõstutundlikud – sama võtme nimi, kuid erinevate tähtedega käsitletakse neid kui erinevaid võtmeid Python sõnaraamatud.