Šajā rakstā uzzināsiet par Python ligzdoto vārdnīcu. Konkrētāk, ar piemēru palīdzību jūs iemācīsities izveidot ligzdotu vārdnīcu, piekļūt elementiem, modificēt tos un tā tālāk.
Programmā Python vārdnīca ir nesakārtota priekšmetu kolekcija. Piemēram:
vārdnīca = ('key': 'value', 'key_2': 'value_2')
Šeit vārdnīcai ir key:value
pāris, kas ievietots cirtainās iekavās ()
.
Lai uzzinātu vairāk par vārdnīcu, lūdzu, apmeklējiet Python vārdnīcu.
Kas ir ligzdotā vārdnīca Python?
Programmā Python ligzdotā vārdnīca ir vārdnīca vārdnīcā. Tā ir vārdnīcu kolekcija vienā vārdnīcā.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Šeit ligzdotais_dikts ir ligzdota vārdnīca ar vārdnīcu dictA
un dictB
. Tās ir divas vārdnīcas, kurām katrai ir sava atslēga un vērtība.
Izveidojiet ligzdotu vārdnīcu
Mēs izveidosim vārdnīcu ar cilvēkiem vārdnīcā.
1. piemērs: Kā izveidot ligzdotu vārdnīcu
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Kad mēs palaidīsim virs programmas, tas izdos:
(1: ('vārds': 'Jānis', 'vecums': '27', 'dzimums': 'vīrietis'), 2: ('vārds': 'Marie', 'vecums': '22', 'dzimums ":" Sieviete "))
Iepriekš minētajā programmā cilvēki ir ligzdota vārdnīca. Iekšējā vārdnīca 1
un 2
tiek piešķirta cilvēkiem. Šeit gan vārdnīcu ir atslēga name
, age
, sex
ar dažādām vērtībām. Tagad mēs izdrukājam cilvēku rezultātu.
Piekļūt ligzdotās vārdnīcas elementiem
Lai piekļūtu ligzdotās vārdnīcas elementam, ()
Python izmantojam indeksēšanas sintaksi.
2. piemērs: Piekļūstiet elementiem, izmantojot sintaksi ()
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'))
Kad mēs palaidīsim virs programmas, tas izdos:
Jānis 27 Vīrietis
Iepriekš minētajā programmā mēs izdrukājam atslēgas vērtību, name
izmantojot, ti, people(1)('name')
no iekšējās vārdnīcas 1
. Līdzīgi mēs drukājam vērtību age
un sex
pa vienam.
Pievienojiet elementu ligzdotajai vārdnīcai
3. piemērs: Kā mainīt vai pievienot elementus ligzdotajā vārdnīcā?
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))
Kad mēs palaidīsim virs programmas, tas izdos:
('vārds': 'Luna', 'vecums': '24', 'dzimums': 'sieviete', 'precējies': 'nē')
Iepriekš minētajā programmā mēs izveidojam tukšu 3
vārdnīcu cilvēku vārdnīcās.
Tad mēs pievienojam key:value
pāri, ti, people(3)('Name') = 'Luna'
vārdnīcas iekšpusē 3
. Tāpat, mēs to darām, lai atslēgu age
, sex
un married
pa vienam. Kad izdrukājam people(3)
, mēs iegūstam key:value
vārdnīcu pārus 3
.
4. piemērs: pievienojiet citu vārdnīcu ligzdotajai vārdnīcai
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))
Kad mēs palaidīsim virs programmas, tas izdos:
('vārds': 'Pēteris', 'vecums': '29', 'dzimums': 'vīrietis', 'precējies': 'jā')
Iepriekš minētajā programmā mēs piešķiram vārdnīcas literālu people(4)
. Burtiskā ir atslēgas name
, age
un sex
ar attiecīgajām vērtībām. Tad mēs izdrukājam people(4)
, lai redzētu, ka vārdnīca 4
ir pievienota ligzdotajiem vārdnīcu cilvēkiem.
Dzēst elementus no ligzdotās vārdnīcas
Lai izdzēstu elementus no ligzdotās vārdnīcas, Python izmantojam “del”.
5. piemērs: Kā izdzēst elementus no ligzdotās vārdnīcas?
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))
Kad mēs palaidīsim virs programmas, tas izdos:
('vārds': 'Luna', 'vecums': '24', 'dzimums': 'sieviete') ('vārds': 'Pēteris', 'vecums': '29', 'dzimums': 'vīrietis')
Iepriekš minētajā programmā mēs izdzēšam key:value
pārus married
no iekšējās vārdnīcas 3
un 4
. Pēc tam mēs izdrukājam people(3)
un, people(4)
lai apstiprinātu izmaiņas.
6. piemērs: Kā izdzēst vārdnīcu no ligzdotās vārdnīcas?
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)
Kad mēs palaidīsim virs programmas, tas izdos:
(1: ('vārds': 'Jānis', 'vecums': '27', 'dzimums': 'vīrietis'), 2: ('vārds': 'Marie', 'vecums': '22', 'dzimums ":" Sieviete "))
Iepriekš minētajā programmā mēs no dzēstās vārdnīcas izdzēšam gan iekšējo vārdnīcu, 3
gan 4
lietošanu del
. Pēc tam mēs izdrukājam ligzdoto vārdnīcu cilvēkus, lai apstiprinātu izmaiņas.
Atkārtojot caur ligzdotu vārdnīcu
Izmantojot for ciklus, mēs varam atkārtot katru elementu ligzdotajā vārdnīcā.
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.
- Vārdnīcai var piekļūt, izmantojot taustiņu.