Woordenboek in Python met syntaxis en voorbeeld

Wat is een woordenboek in Python?

A Woordenboek in Python is de ongeordende en veranderlijke verzameling gegevenswaarden die sleutel-waardeparen bevat. Elk sleutel-waardepaar in het woordenboek wijst de sleutel toe aan de bijbehorende waarde, waardoor deze beter wordt geoptimaliseerd. Een woordenboek in Python wordt gedeclareerd door een door komma's gescheiden lijst van sleutel-waardeparen in te sluiten met behulp van accolades({}). Python Dictionary is ingedeeld in twee elementen: sleutels en waarden.

  • Sleutels zullen uit één element bestaan
  • Waarden kunnen een lijst zijn of een lijst binnen een lijst, numbers, Etc.

Syntaxis voor Python-woordenboek

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

Het woordenboek wordt in krullend weergegeven brackets, binnenin deze krullend brackets, sleutels en waarden worden gedeclareerd. Elke sleutel wordt van zijn waarde gescheiden door een dubbele punt (:), terwijl komma's elk element scheiden.

Syntaxis voor Python-woordenboek

Eigenschappen van woordenboeksleutels

Er zijn twee belangrijke punten bij het gebruik van woordenboektoetsen

  • Meer dan één invoer per sleutel is niet toegestaan ​​(geen dubbele sleutel is toegestaan)
  • De waarden in het woordenboek kunnen van elk type zijn, terwijl de sleutels onveranderlijk moeten zijn numbers, tupels
  • Woordenboeksleutels zijn hoofdlettergevoelig. Dezelfde sleutelnaam, maar met verschillende hoofdletters, wordt in Python-woordenboeken als verschillende sleutels behandeld.

Python 2 voorbeeld

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

Python 3 voorbeeld

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • In code hebben we de woordenboeknaam "Dict"
  • We hebben de naam en leeftijd van de persoon in het woordenboek aangegeven, waarbij naam 'Sleutels' is en leeftijd de 'waarde'
  • Voer nu de code uit
  • Het haalt de leeftijd van Tiffany uit het woordenboek.

Methoden voor Python-woordenboeken

Woordenboek kopiëren

U kunt ook het volledige woordenboek naar een nieuw woordenboek kopiëren. Hier hebben we bijvoorbeeld ons oorspronkelijke woordenboek gekopieerd naar de nieuwe woordenboeknaam “Jongens” en “Meisjes”.

Python 2 voorbeeld

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 voorbeeld

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)
  • We hebben het originele woordenboek (Dict) met de naam en leeftijd van de jongens en meisjes bij elkaar
  • Maar we willen dat de jongenslijst gescheiden is van de meisjeslijst, dus hebben we het element jongens en meisjes gedefinieerd in een aparte woordenboeknaam 'Jongens' en 'Meisjes'.
  • Nu hebben we opnieuw een nieuwe woordenboeknaam "student X" en "student Y" gemaakt, waarbij alle sleutels en waarden van het jongenswoordenboek worden gekopieerd naar student X, en de meisjes worden gekopieerd naar student Y
  • Je hoeft nu dus niet de hele lijst in het hoofdwoordenboek (Dict) te bekijken om te controleren wie een jongen en wie een meisje is, je hoeft alleen maar student X af te drukken als je een jongenslijst wilt en StudentY als je een meisjeslijst wilt
  • Dus als je het leerling X- en leerlingY-woordenboek uitvoert, worden alle elementen die aanwezig zijn in het woordenboek van 'jongens' en 'meisjes' afzonderlijk weergegeven

Woordenboek bijwerken

U kunt een woordenboek ook bijwerken door een nieuw item of een sleutel-waardepaar aan een bestaand item toe te voegen of door een bestaand item te verwijderen. Hier in het voorbeeld voegen we een andere naam, “Sarah”, toe aan ons bestaande woordenboek.

Python 2 voorbeeld

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

Python 3 voorbeeld

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • Ons bestaande woordenboek ‘Dict’ heeft niet de naam ‘Sarah’.
  • Wij gebruiken de methode Dict.update om Sarah toe te voegen aan ons bestaande woordenboek
  • Voer nu de code uit, deze voegt Sarah toe aan ons bestaande woordenboek

Verwijder sleutels uit het woordenboek

Python-woordenboek geeft je de vrijheid om elk element uit de woordenboeklijst te verwijderen. Stel dat je de naam Charlie niet in de lijst wilt hebben, dan kun je het sleutelelement via de follo verwijderenwing code.

Python 2 voorbeeld

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

Python 3 voorbeeld

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

Wanneer u deze code uitvoert, moet de woordenboeklijst zonder Charlie worden afgedrukt.

  • Wij gebruikten de code del Dict
  • Toen de code werd uitgevoerd, werd de Charlie uit het hoofdwoordenboek verwijderd

Woordenboekitems() Methode

De methode items() retourneert een lijst met tupelparen (sleutels, waarde) in het woordenboek.

Python 2 voorbeeld

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

Python 3 voorbeeld

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • We gebruiken de code items() methode voor onze Dict.
  • Wanneer de code werd uitgevoerd, retourneert deze een lijst met items (sleutels en waarden) uit het woordenboek

Controleer of een bepaalde sleutel al in een woordenboek bestaat

Voor een bepaalde lijst kunt u ook controleren of ons onderliggende woordenboek in het hoofdwoordenboek voorkomt of niet. Hier hebben we twee subwoordenboeken “Jongens” en “Meisjes”. Nu willen we controleren of ons woordenboek Jongens bestaat in ons hoofddictaat of niet. Daarvoor gebruiken we de for-lusmethode met de else if-methode.

Python 2 voorbeeld

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 voorbeeld

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)
  • De for loop in code controleert elke sleutel in het hoofdwoordenboek op jongenssleutels
  • Als het in het hoofdwoordenboek voorkomt, moet het waar zijn, anders moet het onwaar zijn
  • Wanneer u de code uitvoert, wordt drie keer 'Waar' afgedrukt, omdat we drie elementen in ons 'Jongens'-woordenboek hebben
  • Het geeft dus aan dat de “Jongens” voorkomen in ons hoofdwoordenboek (Dict)

Het woordenboek sorteren

In het woordenboek kun je de elementen ook sorteren. Als we bijvoorbeeld de naam van de elementen van ons woordenboek alfabetisch willen afdrukken, moeten we de for een lus gebruiken. Het sorteert elk element van het woordenboek dienovereenkomstig.

Python 2 voorbeeld

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 voorbeeld

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]))))
  • We hebben de variabele studenten voor ons woordenboek ‘Dict’ verklaard.
  • Vervolgens gebruiken we de code Students.sort, die het element in ons woordenboek sorteert
  • Maar om elk element in het woordenboek te sorteren, voeren we de for een lus uit door variabele S te declareren
  • Wanneer we nu de code uitvoeren, zal de for-lus elk element uit het woordenboek oproepen en de string en waarde in een volgorde afdrukken.

Ingebouwde functies in Python Dictionary

Woordenboek len() Methode

De functie len() geeft het aantal paren in het woordenboek.

Bijvoorbeeld

Python 2 voorbeeld

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

Python 3 voorbeeld

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

Wanneer de len (Dict)-functie wordt uitgevoerd, geeft deze de uitvoer op “4”, aangezien er vier elementen in ons woordenboek voorkomen

Variabele typen

Python hoeft de reservegeheugenruimte niet expliciet aan te geven; het gebeurt automatisch. Er wordt gebruik gemaakt van de toewijzingswaarden aan de variabele “=” gelijkteken. De code om het variabeletype te bepalen is "%type (Dict)."

Python 2 voorbeeld

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

Python 3 voorbeeld

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Gebruik de code %type om het variabeletype te kennen
  • Wanneer de code werd uitgevoerd, vertelt deze dat het variabeletype een woordenboek is

Python-lijst cmp()-methode

De vergelijkingsmethode cmp() wordt in Python gebruikt om waarden en sleutels van twee woordenboeken te vergelijken. Als de methode 0 retourneert als beide woordenboeken gelijk zijn, 1 als dic1 > dict2 en -1 als dict1 < dict2.

Python 2 voorbeeld

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

Python 3 voorbeeld

cmp is not supported in Python 3
  • We hebben twee woordenboeknamen: 'Jongens' en 'Meisjes'.
  • Wat je ook als eerste declareert in de code “cmp(Girls, Boys)” wordt beschouwd als woordenboek 1. In ons geval hebben we eerst “Girls” gedeclareerd, dus het wordt beschouwd als woordenboek 1 en jongens als woordenboek 2
  • Wanneer de code wordt uitgevoerd, wordt -1 afgedrukt. Dit geeft aan dat ons woordenboek 1 kleiner is dan woordenboek 2.

Woordenboek Str(dict)

Met de Str()-methode kunt u een woordenboek in een afdrukbaar tekenreeksformaat maken.

Python 2 voorbeeld

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

Python 3 voorbeeld

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Gebruik de code % str (Dict)
  • Het retourneert de woordenboekelementen in een afdrukbaar tekenreeksformaat

Hier is de lijst met alle woordenboekmethoden

Methode Omschrijving Syntaxis
kopiëren() Kopieer het volledige woordenboek naar een nieuw woordenboek dict.copy()
bijwerken() Werk een woordenboek bij door een nieuw item of een sleutel-waardepaar toe te voegen aan een bestaand item of door een bestaand item te verwijderen. Dict.update([andere])
artikelen () Retourneert een lijst met tupelparen (sleutels, waarde) in het woordenboek. woordenboek.items()
soort() Je kunt de elementen sorteren woordenboek.sort()
len () Geeft het aantal paren in het woordenboek. len(dict)
cmp() Vergelijk de waarden en sleutels van twee woordenboeken cmp(dict1, dict2)
Str() Maak een woordenboek in een afdrukbaar tekenreeksformaat Str(dict)

Woordenboeken samenvoegen

Hier zult u begrijpen hoe u twee gegeven woordenboeken kunt samenvoegen tot één woordenboek.

Ik heb twee woordenboeken, zoals hieronder weergegeven:

Woordenboek1: mijn_dict1

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

Woordenboek 2: mijn_dict2

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

Laten we beide woordenboeken mijn_dict1 en mijn_dict2 samenvoegen en één woordenboek maken met naammijn_dict.

Voeg twee woordenboeken samen met de update()-methode

De update() methode zal ons helpen het ene woordenboek met het andere samen te voegen. In het voorbeeld zullen we my_dict1 bijwerken met my_dict2. Na het gebruik van de update()-methode zal my_dict1 de inhoud van my_dict2 hebben, zoals hieronder weergegeven:

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

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

my_dict1.update(my_dict2)

print(my_dict1)

Output:

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

Woordenboeken samenvoegen met behulp van de **-methode (vanaf Python 3.5 en later)

De ** heet Kwargs in Python en werkt met Python versie 3.5+. Met ** kunnen we twee woordenboeken samenvoegen en wordt het samengevoegde woordenboek geretourneerd. Als u ** vóór de variabele gebruikt, wordt de variabele met al zijn inhoud vervangen.

Hier is een werkend voorbeeld van het gebruik van ** om twee mappen samen te voegen.

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)

Output:

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

Woordenboeklidmaatschapstest

U kunt testen of een sleutel aanwezig is in een woordenboek of niet. Deze test kan alleen worden uitgevoerd op de sleutel van een woordenboek en niet op de waarde. De lidmaatschapstest wordt gedaan met behulp van de in trefwoord. Wanneer u de sleutel in het woordenboek controleert met behulp van de in trefwoord, retourneert de expressie waar als de sleutel aanwezig is en onwaar als dat niet het geval is.

Hier is een voorbeeld van een lidmaatschapstest in een woordenboek.

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)

Output:

True
True
False

Samengevat

  • Woordenboeken in een programmeertaal zijn een soort datastructuur die wordt gebruikt om op de een of andere manier verbonden informatie op te slaan.
  • Python Dictionary wordt gedefinieerd in twee elementen: sleutels en waarden.
  • Woordenboeken slaan hun informatie niet in een bepaalde volgorde op, dus het is mogelijk dat u uw informatie niet terugkrijgt in dezelfde volgorde waarin u deze heeft ingevoerd.
  • Sleutels zullen uit één element bestaan
  • Waarden kunnen een lijst zijn of een lijst binnen een lijst, numbers, Etc.
  • Meer dan één invoer per sleutel is niet toegestaan ​​(geen dubbele sleutel is toegestaan)
  • De waarden in het woordenboek kunnen van elk type zijn, terwijl de sleutels onveranderlijk moeten zijn numbers, tupels of strings.
  • Woordenboeksleutels zijn hoofdlettergevoelig. Dezelfde sleutelnaam, maar met verschillende hoofdletters, wordt in Python-woordenboeken als verschillende sleutels behandeld.