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:value
par, 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 dictA
in 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 1
in 2
je dodeljen ljudem. Tukaj, tako slovar ima ključ name
, age
, sex
z 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 name
z uporabo ie people(1)('name')
iz notranjega slovarja 1
. Podobno izpišemo vrednost age
in sex
enega 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 3
v slovarju ljudi ustvarimo prazen slovar .
Nato dodamo key:value
par, tj people(3)('Name') = 'Luna'
. V slovar 3
. Podobno to počnemo za ključ age
, sex
in to married
enega za drugim. Ko natisnemo people(3)
, dobimo key:value
pare 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
, age
in sex
z ustreznimi vrednostmi. Nato natisnemo people(4)
, da vidimo, da je slovar 4
dodan 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:value
pare in . Nato natisnemo in potrdimo spremembe.married
3
4
people(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 3
kot tudi 4
uporabo 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:
- 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.
- Do slovarja dostopate s tipko.