I denne artikkelen vil du lære om nestet ordbok i Python. Mer spesifikt lærer du å lage nestet ordbok, få tilgang til elementer, endre dem og så videre ved hjelp av eksempler.
I Python er en ordbok en uordnet samling av gjenstander. For eksempel:
ordbok = ('nøkkel': 'verdi', 'nøkkel_2': 'verdi_2')
Her har ordboken et key:value
par lukket i krøllete parenteser ()
.
For å lære mer om ordbok, besøk Python Dictionary.
Hva er Nested Dictionary i Python?
I Python er en nestet ordbok en ordbok i en ordbok. Det er en samling ordbøker i en enkelt ordbok.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Her er nested_dict en nestet ordbok med ordboken dictA
og dictB
. De er to ordbøker som hver har egen nøkkel og verdi.
Lag en nestet ordbok
Vi skal lage ordbok for mennesker i en ordbok.
Eksempel 1: Hvordan lage en nestet ordbok
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Når vi kjører over programmet, vil det sende ut:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ':' Kvinne '))
I programmet ovenfor er folk en nestet ordbok. Den interne ordboken 1
og 2
er tilordnet folk. Her, både i ordlisten har nøkkelen name
, age
, sex
med forskjellige verdier. Nå skriver vi ut resultatet av mennesker.
Få tilgang til elementer i en nestet ordbok
For å få tilgang til element i en nestet ordbok, bruker vi indekseringssyntaks ()
i Python.
Eksempel 2: Få tilgang til elementene ved hjelp av () syntaksen
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'))
Når vi kjører over programmet, vil det sende ut:
Johannes 27 Mann
I det ovennevnte programmet skriver vi ut verdien av nøkkelen name
ved hjelp av dvs. people(1)('name')
fra intern ordbok 1
. På samme måte skriver vi ut verdien av age
og sex
en etter en.
Legg til element i en nestet ordbok
Eksempel 3: Hvordan endre eller legge til elementer i en nestet ordbok?
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))
Når vi kjører over programmet, vil det sende ut:
('navn': 'Luna', 'alder': '24', 'kjønn': 'Kvinne', 'gift': 'Nei')
I programmet ovenfor skaper vi en tom ordbok 3
inne i ordboken.
Deretter legger vi til key:value
paret, dvs. people(3)('Name') = 'Luna'
inne i ordboken 3
. På samme måte gjør vi dette for nøkkel age
, sex
og married
en etter en. Når vi skriver ut people(3)
, får vi key:value
par ordbok 3
.
Eksempel 4: Legg til en annen ordbok i den nestede ordboken
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))
Når vi kjører over programmet, vil det sende ut:
('name': 'Peter', 'age': '29', 'sex': 'Male', 'gift': 'Yes')
I programmet ovenfor tilordner vi en ordbok bokstavelig til people(4)
. Bokstavene har nøkler name
, age
og sex
med respektive verdier. Deretter skriver vi ut people(4)
, for å se at ordboken 4
er lagt til i nestede ordbokfolk.
Slett elementer fra en nestet ordbok
I Python bruker vi “del” -uttrykk for å slette elementer fra nestet ordbok.
Eksempel 5: Hvordan sletter du elementer fra en nestet ordbok?
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))
Når vi kjører over programmet, vil det sende ut:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
I programmet ovenfor sletter vi key:value
parene married
fra intern ordbok 3
og 4
. Deretter skriver vi ut people(3)
og for people(4)
å bekrefte endringene.
Eksempel 6: Hvordan slette ordbok fra en nestet ordbok?
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)
Når vi kjører over programmet, vil det sende ut:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ':' Kvinne '))
I programmet ovenfor sletter vi både den interne ordboken 3
og 4
bruker del
fra de nestede ordboken. Deretter skriver vi ut de nestede ordboken for å bekrefte endringene.
Iterere gjennom en nestet ordbok
Ved hjelp av for loops kan vi gjenta gjennom hvert element i en nestet ordbok.
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.
- Ordbok er tilgjengelig med tasten.