In deze klasse zult u ontdekken wat Python Dictionary is en hoe u het kunt maken. U zult ook leren om elementen toe te voegen, bij te werken, te verwijderen en te zoeken in een woordenboek object.
een woordenboek in Python is een versleutelde verzameling objecten. In tegenstelling tot andere gegevenstypen, zoals een lijst of een set die een enkel waardeveld heeft, slaat het woordenboektype een sleutel op samen met zijn waarde.,
het toetsenpaar met waarden die een dubbele punt (:) gebruiken, terwijl de komma ‘ s als scheidingsteken voor de elementen werken. Ook gebruikt het hele woordenboek object krullende accolades om zichzelf te omsluiten.
Hieronder is een voorbeeld van een onvruchtbaar woordenboek object dat geen elementen heeft.
#The empty Python dictionary object{}
onthoud dat alleen sleutels in een woordenboek geen duplicaten kunnen hebben, maar dat hun waarden zichzelf kunnen herhalen.
vervolgens kan de waarde in een woordenboek van elk geldig Python-gegevenstype zijn. Maar de sleutels hebben een beperking om van elk onveranderlijk gegevenstype te zijn, zoals een string, een getal of een tupel.,
woordenboek in Python
maak woordenboeken
Als u een Python woordenboek met vaste sleutels en waarden wilt maken, dan is het vrij eenvoudig om dit te doen. Combineer gewoon alle” key1:value1, key2:value2,… ” – paren en omsluit ze met krullende beugels.
De combinatie van een sleutel en zijn waarde, d.w.z. “key: value” vertegenwoordigt een enkel element van een woordenboek in Python.
bij het definiëren van statische woordenboek objecten, moet u voorzichtig zijn om unieke waarden voor sleutels te gebruiken. Ze kunnen echter afkomstig zijn van elk geldig Python gegevenstype.,
vergeet ook niet om alleen onveranderlijke gegevenstypen te gebruiken voor de waarden, terwijl ze duplicaten kunnen hebben.
leer over – Python Strings
Woordenboekbewerkingen
Python woordenboek heeft de sleutel als een extra parameter. We kunnen toegang krijgen tot de elementen van een woordenboek met behulp van sleutels door ze te gebruiken als Index naar de array operator () of door te gaan als Argument naar de get() methode.
beide methoden zullen hetzelfde werken, maar de eerste zal een KeyError retourneren terwijl de laatste Geen retourneert als het element niet beschikbaar is.,
het uitvoeren van het bovenstaande coderingsfragment zal resulteren in de volgende uitvoer.
dict: Berrydict: 12dict: English
toegang tot een element met een niet-bestaande sleutel geeft een fout terug. Bekijk de onderstaande code.
dict = {'Student Name': 'Berry', 'Roll No.': 12, 'Subject': 'English'}print("dict: ", dict)
het bovenstaande voorbeeld gebruikt de” Name ” sleutel die niet bestaat. Het uitvoeren van hetzelfde zou een “KeyError produceren.”
in het volgende voorbeeld zullen we toegang krijgen tot de elementen in een Python woordenboek met behulp van de get() functie.
deze code levert het volgende resultaat op.,
Berry12English
toevoegen in een woordenboek
u kunt een nieuw item toevoegen aan een bestaand dict-object met elementen op de volgende twee manieren.
toewijzing aan elementen toevoegen
>>> dict_append = {"1" : "Python", "2" : "Java"}>>> print(dict_append){'1': 'Python', '2': 'Java'}>>> dict_append = "CSharp">>> print(dict_append){'1': 'Python', '3': 'CSharp', '2': 'Java'}>>>
updatemethode om elementen toe te voegen
U kunt de updatemethode van het woordenboek aanroepen om er een nieuw element aan toe te voegen. We breiden het bovenstaande voorbeeld uit, zie hieronder:
>>> dict_append.update({"4" : "JavaScript"})>>> print(dict_append){'1': 'Python', '3': 'CSharp', '2': 'Java', '4': 'JavaScript'}>>>
een woordenboek bijwerken
Python stond toe dat het dictionary-object kon worden gewijzigd., Daarom zijn de add-of update-bewerkingen toegestaan. U kunt een nieuw item pushen of bestaande wijzigen met behulp van de opdrachtoperator.
wanneer u een element toevoegt waarvan de sleutel al bestaat, zal de waarde worden gewijzigd in de nieuwe waarde. Bij het toevoegen van een vers “key: value” paar, een nieuw element zal worden toegevoegd aan het woordenboek.
Use Assignment
in het onderstaande voorbeeld demonstreren we zowel de update-als de toevoeging-bewerkingen op het bestaande woordenboek-object.
de uitvoering van de bovenstaande code zal de volgende uitvoer produceren.,
The student who left: BerryThe student who replaced: LarryThe student who joined: Jarry
gebruik de updatemethode
U kunt ook de updatemethode aanroepen om de waarde van een bestaand element te wijzigen. Zie het voorbeeld hieronder.
laten we het vorige voorbeeld hervatten. Het heeft een dict object dat een sleutel als ‘Student naam’ bevat. We zullen de waarde bijwerken.
elementen verwijderen
Python leent ons een nee. van methoden om elementen uit het woordenboek te verwijderen.
de meest voorkomende is de” pop () ” methode. Het neemt de sleutel als invoer en verwijdert het overeenkomstige element uit het Python woordenboek., Het Retourneert de waarde die is gekoppeld aan de invoersleutel.
een andere methode is ” popitem ()”. Het verwijdert en retourneert een willekeurig element (sleutel, waarde) uit het woordenboek.
als je alle elementen uit het woordenboek wilt laten vallen, gebruik dan de “clear()” methode om alles te spoelen.
niettemin is een andere manier om een element uit een woordenboek te verwijderen het gebruik van het Del-trefwoord. Het kan u helpen bij het verwijderen van afzonderlijke items en dus het hele woordenboek object.
Hier is het resultaat van het uitvoeren van het bovenstaande coderingsfragment.,
in het bovenstaande voorbeeld verwijdert het op één na laatste statement alle elementen uit het Python woordenboek en laat het leeg.
en de volgende aanroep naar de “del” operator op het woordenboek object verwijdert het helemaal. Vandaar dat het laatste print statement faalt met de ” NameError.”
leer over-Tuples in Python
woordenboek attributen
Python legt geen beperkingen op aan de “waarden” van een woordenboek object. U kunt ze vormen met behulp van de standaard Python of een aangepaste data types., Maar, zoals we eerder zeiden, de” sleutels “zijn niet hetzelfde als” waarden ” en hebben totaal verschillende behandeling.
daarom is het van vitaal belang dat u de volgende twee feiten over de “sleutels van het woordenboek onthoudt.”
- dezelfde sleutel kan geen andere waarde in het woordenboek hebben. Het bevestigt dat een dubbele sleutel niet kan bestaan. Zelfs als u een dubbele sleutel probeert op te geven, wordt de bestaande sleutel alleen gewijzigd met de waarde die in de laatste toewijzing is opgegeven.
dict = {'Student Name': 'Berry', ' Roll No.,': 12,' Subject':'English',' Student Name':'Kerry'} print("dict:", dict)
het uitvoeren van de bovenstaande code zal laten zien dat de sleutel “Student Name” de laatst toegewezen waarde behoudt, d.w.z. “Kerry.”
dict: Kerry
- Python zegt dat de woordenboeksleutels moeten worden afgeleid van de onveranderlijke gegevenstypen. U kunt afleiden dat alleen toegestane types zijn strings, getallen of tupels. Bekijk hieronder een standaard voorbeeld.
dict = {: 'Berry', ' Roll No.,': 12,' Subject':'English'} print("dict:", dict)
in het bovenstaande voorbeeld gebruikt de sleutel een lijsttype. Aangezien Python dit niet ondersteunt, zal het statement Een “TypeError” genereren.”
hier is het resultaat van het bovenstaande voorbeeld.
Iterate Dictionary
vergelijkbaar met de lijsten kunt u een lus “for in” gebruiken om door een woordenboek te bladeren. In het algemeen zijn het de sleutels die iteratie mogelijk maken.
laten we het concept begrijpen met een eenvoudig voorbeeld. Het drukt alle sleutels van een woordenboek in een lus.,
dict = {'Student Name': 'Berry', 'Roll No.': 12, 'Subject': 'English'}print("Keys are:")for key in dict: print(key)
De uitvoer van bovenstaande Python-code is als volgt.
Keys are:Student NameRoll No.Subject
volg nog een voorbeeld hieronder waarin toetsen worden afgedrukt samen met waarden.
dict = {'Student Name': 'Berry', 'Roll No.': 12, 'Subject': 'English'}print("{Keys}:{Values}")for key, value in dict.items(): print({key},":",{value})
het resultaat van bovenstaande Python-code is als volgt.
{Keys}:{Values}{'Student Name'} : {'Berry'}{'Roll No.'} : {12}{'Subject'} : {'English'}
Woordenboekbegrip
net als een Python-lijst, maakt het woordenboek het ook mogelijk om nieuwe objecten te maken vanuit een iterable in een lus.,
u kunt een woordenboekbegrip opgeven door gebruik te maken van een expressie met een paar “key: value” gevolgd door for lus en ingesloten met accolades {}.
Volg de onderstaande voorbeelden om een woordenboek te maken met behulp van de bevattingssyntaxis.
laten we een woordenboek-object maken met het tekenreekstype voor sleutels en het getalformaat voor waarden.
>>> {str(iter):iter for iter in }{'44': 44, '33': 33, '55': 55, '11': 11, '22': 22}
een ander voorbeeld van het maken van een woordenboek uit de lijst van weekdagen als sleutels en de lengte van elke week als de waarden.,
>>> weekdays = >>> {w:len(w) for w in weekdays}{'fri': 3, 'tue': 3, 'wed': 3, 'sat': 3, 'thu': 3, 'mon': 3, 'sun': 3}
We kunnen de functie” enumerate () ” gebruiken in een woordenboek. Het helpt ons om de index van een specifiek element op te slaan dat we later zouden kunnen gebruiken. Ook is in een for-lus de positie van een lijstelement niet zichtbaar zonder “enumerate().”
dergelijke Python woordenboeken die element index hebben kunnen nuttig zijn in veel situaties.
>>> {w : i for i, w in enumerate(weekdays)}{'fri': 5, 'tue': 2, 'wed': 3, 'sat': 6, 'thu': 4, 'mon': 1, 'sun': 0}
lidmaatschap Test
We kunnen snel bevestigen of een sleutel aanwezig is in een woordenboek of niet met behulp van het trefwoord ” in.”Houd er ook rekening mee dat de lidmaatschapstest alleen van toepassing is op sleutels, niet op waarden.,
De uitvoer van het bovenstaande fragment is als volgt.
TrueFalseTrue
Quick wrap up – Python Dictionary
In deze tutorial hebben we een van de belangrijkste onderwerpen in Python behandeld. In welk domein van Python, u kiest om te werken, weten woordenboeken zal zeker helpen.
nu, als je iets hebt geleerd van deze les, zorg er dan voor om het te delen met je collega ‘ s. Maak ook verbinding met onze sociale media (Facebook/Twitter) accounts om tijdig updates te ontvangen.
Best,
TechBeamers