Python ligzdotā vārdnīca (ar piemēriem)

Š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:valuepā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 dictAun 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 1un 2tiek piešķirta cilvēkiem. Šeit gan vārdnīcu ir atslēga name, age, sexar 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, nameizmantojot, ti, people(1)('name')no iekšējās vārdnīcas 1. Līdzīgi mēs drukājam vērtību ageun sexpa 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 3vārdnīcu cilvēku vārdnīcās.

Tad mēs pievienojam key:valuepāri, ti, people(3)('Name') = 'Luna'vārdnīcas iekšpusē 3. Tāpat, mēs to darām, lai atslēgu age, sexun marriedpa vienam. Kad izdrukājam people(3), mēs iegūstam key:valuevā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, ageun sexar attiecīgajām vērtībām. Tad mēs izdrukājam people(4), lai redzētu, ka vārdnīca 4ir 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:valuepārus marriedno iekšējās vārdnīcas 3un 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, 3gan 4lietoš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:

  1. Nested dictionary is an unordered collection of dictionary
  2. Slicing Nested Dictionary is not possible.
  3. We can shrink or grow nested dictionary as need.
  4. Like Dictionary, it also has key and value.
  5. Vārdnīcai var piekļūt, izmantojot taustiņu.

Interesanti raksti...