Python ugnezdeni slovar (z primeri)

V tem članku boste izvedeli več o ugnezdenem slovarju v Pythonu. Natančneje, s pomočjo primerov se boste naučili ustvarjati ugnezdeni slovar, dostopati do elementov, jih spreminjati in tako naprej.

V Pythonu je slovar neurejena zbirka predmetov. Na primer:

 slovar = ('key': 'value', 'key_2': 'value_2')

Tu ima slovar key:valuepar, zaprt v zavite oklepaje ().

Če želite izvedeti več o slovarju, obiščite Python Dictionary.

Kaj je ugnezdeni slovar v Pythonu?

V Pythonu je ugnezdeni slovar slovar v slovarju. To je zbirka slovarjev v enem samem slovarju.

 nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))

Tu je nested_dict ugnezdeni slovar s slovarjem dictAin dictB. Gre za dva slovarja, ki imata vsak svoj ključ in vrednost.

Ustvari ugnezdeni slovar

Ustvarili bomo slovar ljudi v slovarju.

Primer 1: Kako ustvariti ugnezdeni slovar

 people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)

Ko zaženemo nad programom, bo izpisal:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ':' Ženska '))

V zgornjem programu je ljudje ugnezdeni slovar. Notranji slovar 1in 2je dodeljen ljudem. Tukaj, tako slovar ima ključ name, age, sexz različnimi vrednostmi. Zdaj natisnemo rezultat ljudi.

Dostopajte do elementov ugnezdenega slovarja

Za dostop do elementa ugnezdenega slovarja uporabljamo ()sintakso indeksiranja v Pythonu.

2. primer: Do elementov dostopajte s sintakso ()

 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'))

Ko zaženemo nad programom, bo izpisal:

 Janez 27 Moški

V zgornjem programu tiskamo vrednost ključa namez uporabo ie people(1)('name')iz notranjega slovarja 1. Podobno izpišemo vrednost agein sexenega za drugim.

Dodajte element v ugnezdeni slovar

3. primer: Kako spremeniti ali dodati elemente v ugnezdenem slovarju?

 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))

Ko zaženemo nad programom, bo izpisal:

 ('ime': 'Luna', 'starost': '24', 'spol': 'Ženska', 'poročena': 'Ne')

V zgornjem programu 3v slovarju ljudi ustvarimo prazen slovar .

Nato dodamo key:valuepar, tj people(3)('Name') = 'Luna'. V slovar 3. Podobno to počnemo za ključ age, sexin to marriedenega za drugim. Ko natisnemo people(3), dobimo key:valuepare slovarja 3.

Primer 4: V ugnezdeni slovar dodajte še en slovar

 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))

Ko zaženemo nad programom, bo izpisal:

 ('ime': 'Peter', 'starost': '29', 'spol': 'Moški', 'poročen': 'Da')

V zgornjem programu dodelimo slovarsko dobesedno besedo people(4). Dobesedni imajo ključe name, agein sexz ustreznimi vrednostmi. Nato natisnemo people(4), da vidimo, da je slovar 4dodan v ugnezdene slovarje.

Izbriši elemente iz ugnezdenega slovarja

V Pythonu za brisanje elementov iz ugnezdenega slovarja uporabljamo stavek "del".

5. primer: Kako izbrisati elemente iz ugnezdenega slovarja?

 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))

Ko zaženemo nad programom, bo izpisal:

 ('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')

V zgornjem programu iz notranjega slovarja izbrišemo key:valuepare in . Nato natisnemo in potrdimo spremembe.married34people(3)people(4)

Primer 6: Kako izbrisati slovar iz ugnezdenega slovarja?

 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)

Ko zaženemo nad programom, bo izpisal:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ':' Ženska '))

V zgornjem programu iz ugnezdenega slovarja izbrišemo tako notranji slovar 3kot tudi 4uporabo del. Nato natisnemo ugnezdene slovarje, da potrdimo spremembe.

Ponavljanje skozi ugnezdeni slovar

Z uporabo zank for lahko v ugnezdenem slovarju pregledujemo posamezne elemente.

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. Do slovarja dostopate s tipko.

Zanimive Članki...