Selles artiklis leiate teavet Pythoni pesastatud sõnastiku kohta. Täpsemalt õpite näidete abil pesastatud sõnastikku looma, elementidele juurde pääsema, neid muutma ja nii edasi.
Pythonis on sõnastik järjestamata üksuste kogu. Näiteks:
sõnastik = ('võti': 'väärtus', 'võti_2': 'väärtus_2')
Siin on sõnaraamatul key:value
paar lokkis sulgudes ()
.
Sõnaraamatu kohta lisateabe saamiseks külastage palun Pythoni sõnaraamatut.
Mis on Pythonis sisestatud sõnastik?
Pythonis on pesastatud sõnastik sõnastiku sees olev sõnastik. See on sõnastike kogu ühes sõnastikus.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Siin nested_dict on pesastatud sõnastik sõnaraamatu dictA
ja dictB
. Need on kaks sõnastikku, millel mõlemal on oma võti ja väärtus.
Looge pesastatud sõnastik
Loome sõnastiku inimestest sõnaraamatu.
Näide 1: kuidas luua pesastatud sõnastik
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Kui käivitame programmi üle, väljastab see:
(1: ('nimi': 'John', 'vanus': '27', 'sugu': 'mees'), 2: ('nimi': 'Marie', 'vanus': '22', 'sugu ":" Naine "))
Ülalolevas programmis on inimesed pesastatud sõnastik. Sisemine sõnastik 1
ja 2
on määratud inimestele. Siin on nii sõnastik on võti name
, age
, sex
erinevate väärtustega. Nüüd trükime inimeste tulemused.
Juurdepääs pesastatud sõnaraamatu elementidele
Pesastatud sõnastiku elemendi juurde pääsemiseks kasutame ()
Pythonis indekseerimissüntaksit .
Näide 2: juurdepääs elementidele süntaksiga ()
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'))
Kui käivitame programmi üle, väljastab see:
Johannes 27 Mees
Ülaltoodud programmis printime võtme väärtuse name
kasutades people(1)('name')
sisemist sõnastikku 1
. Samamoodi trükime väärtuse age
ja sex
ükshaaval.
Lisage element pesastatud sõnastikku
Näide 3: Kuidas pesastatud sõnastikus elemente muuta või lisada?
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))
Kui käivitame programmi üle, väljastab see:
('nimi': 'Luna', 'vanus': '24', 'sugu': 'naine', 'abielus': 'ei')
Ülaltoodud programmis loome sõnastikuinimestesse tühja sõnaraamatu 3
.
Seejärel lisame key:value
paari, st people(3)('Name') = 'Luna'
sõnaraamatu sisse 3
. Samamoodi me teeme seda klahvi age
, sex
ja married
ükshaaval. Kui me printida people(3)
, saame key:value
paari sõnastik 3
.
Näide 4: lisage pesastatud sõnastikku veel üks sõnastik
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))
Kui käivitame programmi üle, väljastab see:
('nimi': 'Peter', 'vanus': '29', 'sugu': 'mees', 'abielus': 'jah')
Eeltoodud programmis määrame sõnaraamatu literaali people(4)
. Grammatiline on võtmed name
, age
ja sex
vastavate väärtustega. Seejärel printime välja people(4)
, et näha, et sõnastik 4
lisatakse pesastatud sõnastikuinimestele.
Elementide kustutamine pesastatud sõnastikust
Pythonis kasutame pesastatud sõnastikust elementide kustutamiseks lauset “del”.
Näide 5: Kuidas pesastatud sõnastikust elemente kustutada?
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))
Kui käivitame programmi üle, väljastab see:
('nimi': 'Luna', 'vanus': '24', 'sugu': 'naine') ('nimi': 'Peter', 'vanus': '29', 'sugu': 'mees')
Ülaltoodud programmis kustutame key:value
paarid married
sisemisest sõnaraamatust 3
ja 4
. Seejärel printime muudatuste kinnitamiseks people(3)
ja people(4)
.
Näide 6: Kuidas sõnastikku pesastatud sõnastikust kustutada?
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)
Kui käivitame programmi üle, väljastab see:
(1: ('nimi': 'John', 'vanus': '27', 'sugu': 'mees'), 2: ('nimi': 'Marie', 'vanus': '22', 'sugu ":" Naine "))
Ülaltoodud programmis kustutame pesastatud sõnastikust inimesed nii sisemise sõnastiku 3
kui ka 4
kasutatava del
. Seejärel printime muudatuste kinnitamiseks pesastatud sõnastiku inimesed.
Kordamine läbi pesastatud sõnaraamatu
Rakenduse for loops abil saame läbi viia pesastatud sõnastikus iga elemendi.
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.
- Sõnaraamatule pääseb juurde klahvi abil.