In dit artikel leert u over genest woordenboek in Python. Meer specifiek leert u geneste woordenboeken te maken, toegang te krijgen tot elementen, ze aan te passen, enzovoort met behulp van voorbeelden.
In Python is een woordenboek een ongeordende verzameling items. Bijvoorbeeld:
woordenboek = ('key': 'waarde', 'key_2': 'waarde_2')
Hier heeft het woordenboek een key:value
paar tussen accolades ()
.
Bezoek Python Dictionary voor meer informatie over het woordenboek.
Wat is genest woordenboek in Python?
In Python is een genest woordenboek een woordenboek in een woordenboek. Het is een verzameling woordenboeken in één woordenboek.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Hier is het geneste_dict een genest woordenboek met het woordenboek dictA
en dictB
. Het zijn twee woordenboeken met elk een eigen sleutel en waarde.
Maak een genest woordenboek
We gaan een woordenboek maken van mensen in een woordenboek.
Voorbeeld 1: een genest woordenboek maken
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Wanneer we het bovenstaande programma uitvoeren, zal het uitvoeren:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Vrouw'))
In het bovenstaande programma is mensen een genest woordenboek. Het interne woordenboek 1
en 2
is toegewezen aan personen. Hier zijn zowel het woordenboek hebben sleutel name
, age
, sex
met verschillende waarden. Nu drukken we het resultaat van mensen af.
Toegang tot elementen van een genest woordenboek
Om toegang te krijgen tot een element van een genest woordenboek, gebruiken we indexeringssyntaxis ()
in Python.
Voorbeeld 2: toegang tot de elementen met behulp van de () syntaxis
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people(1)('name')) print(people(1)('age')) print(people(1)('sex'))
Wanneer we het bovenstaande programma uitvoeren, zal het uitvoeren:
John 27 Man
In het bovenstaande programma drukken we de waarde van de sleutel af name
met behulp people(1)('name')
van bijvoorbeeld een intern woordenboek 1
. Op dezelfde manier drukken we de waarde van age
en sex
één voor één af.
Element toevoegen aan een genest woordenboek
Voorbeeld 3: Hoe elementen in een genest woordenboek wijzigen of toevoegen?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) people(3) = () people(3)('name') = 'Luna' people(3)('age') = '24' people(3)('sex') = 'Female' people(3)('married') = 'No' print(people(3))
Wanneer we het bovenstaande programma uitvoeren, zal het uitvoeren:
('naam': 'Luna', 'leeftijd': '24', 'geslacht': 'Vrouw', 'getrouwd': 'Nee')
In het bovenstaande programma maken we een leeg woordenboek 3
binnen de woordenboekmensen.
Vervolgens voegen we het key:value
paar toe, dwz people(3)('Name') = 'Luna'
binnen het woordenboek 3
. Op dezelfde manier doen we dit voor de sleutel age
, sex
en married
één voor één. Als we de afdrukken people(3)
, krijgen we key:value
woordenboeken 3
.
Voorbeeld 4: voeg nog een woordenboek toe aan het geneste woordenboek
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No')) people(4) = ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes') print(people(4))
Wanneer we het bovenstaande programma uitvoeren, zal het uitvoeren:
('naam': 'Peter', 'leeftijd': '29', 'geslacht': 'Man', 'getrouwd': 'Ja')
In het bovenstaande programma wijzen we een woordenboek letterlijk toe aan people(4)
. De letterlijke hebben sleutels name
, age
en sex
met de respectieve waarden. Vervolgens drukken we de af people(4)
, om te zien dat het woordenboek 4
wordt toegevoegd aan geneste woordenboekpersonen.
Verwijder elementen uit een genest woordenboek
In Python gebruiken we de instructie "del" om elementen uit een genest woordenboek te verwijderen.
Voorbeeld 5: Hoe verwijder ik elementen uit een genest woordenboek?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes')) del people(3)('married') del people(4)('married') print(people(3)) print(people(4))
Wanneer we het bovenstaande programma uitvoeren, zal het uitvoeren:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
In het bovenstaande programma verwijderen we de key:value
paren married
uit het interne woordenboek 3
en 4
. Vervolgens drukken we de people(3)
en af people(4)
om wijzigingen te bevestigen.
Voorbeeld 6: Hoe verwijder ik een woordenboek uit een genest woordenboek?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male')) del people(3), people(4) print(people)
Wanneer we het bovenstaande programma uitvoeren, zal het uitvoeren:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Vrouw'))
In het bovenstaande programma verwijderen we zowel het interne woordenboek 3
als het 4
gebruik del
van de geneste woordenboekpersonen. Vervolgens drukken we de geneste woordenboekpersonen af om wijzigingen te bevestigen.
Itereren door een genest woordenboek
Met behulp van de for-lussen kunnen we elk element in een genest woordenboek doorlopen.
Example 7: How to iterate through a Nested dictionary?
people = (1: ('Name': 'John', 'Age': '27', 'Sex': 'Male'), 2: ('Name': 'Marie', 'Age': '22', 'Sex': 'Female')) for p_id, p_info in people.items(): print("Person ID:", p_id) for key in p_info: print(key + ':', p_info(key))
When we run above program, it will output:
Person ID: 1 Name: John Age: 27 Sex: Male Person ID: 2 Name: Marie Age: 22 Sex: Female
In the above program, the first loop returns all the keys in the nested dictionary people. It consist of the IDs p_id of each person. We use these IDs to unpack the information p_info of each person.
The second loop goes through the information of each person. Then, it returns all of the keys name
, age
, sex
of each person's dictionary.
Now, we print the key of the person’s information and the value for that key.
Key Points to Remember:
- Nested dictionary is an unordered collection of dictionary
- Slicing Nested Dictionary is not possible.
- We can shrink or grow nested dictionary as need.
- Like Dictionary, it also has key and value.
- Woordenboek is toegankelijk met de sleutel.