U ovom ćete članku naučiti o ugniježđenom rječniku u Pythonu. Točnije, naučit ćete stvarati ugniježđeni rječnik, pristupati elementima, mijenjati ih i tako dalje pomoću primjera.
U Pythonu je rječnik neuređena zbirka predmeta. Na primjer:
rječnik = ('key': 'value', 'key_2': 'value_2')
Ovdje rječnik ima key:value
par zatvoren u vitičastim zagradama ()
.
Da biste saznali više o rječniku, posjetite Python Dictionary.
Što je ugniježđeni rječnik u Pythonu?
U Pythonu, ugniježđeni rječnik je rječnik unutar rječnika. To je zbirka rječnika u jednom rječniku.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Ovdje je nested_dict ugniježđeni rječnik s rječnikom dictA
i dictB
. To su dva rječnika od kojih svaki ima svoj ključ i vrijednost.
Stvorite ugniježđeni rječnik
Stvorit ćemo rječnik ljudi unutar rječnika.
Primjer 1: Kako stvoriti ugniježđeni rječnik
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Kada pokrenemo gornji program, on će dati:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ':' Žensko '))
U gornjem programu, ljudi je ugniježđeni rječnik. Interni rječnik 1
i 2
dodijeljen je ljudima. Evo, kako je rječnik imati ključ name
, age
, sex
s različitim vrijednostima. Sada ispisujemo rezultat ljudi.
Pristupite elementima ugniježđenog rječnika
Za pristup elementu ugniježđenog rječnika koristimo ()
sintaksu indeksiranja u Pythonu.
Primjer 2: Pristupite elementima koristeći sintaksu ()
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'))
Kada pokrenemo gornji program, on će dati:
Ivan 27 Muški
U gornjem programu ispisujemo vrijednost ključa name
koristeći tj. people(1)('name')
Iz internog rječnika 1
. Slično tome, ispisujemo vrijednost age
i sex
jedan po jedan.
Dodajte element u ugniježđeni rječnik
Primjer 3: Kako promijeniti ili dodati elemente u ugniježđenom rječniku?
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))
Kada pokrenemo gornji program, on će dati:
('ime': 'Luna', 'dob': '24', 'spol': 'Žensko', 'oženjeno': 'Ne')
U gornjem programu stvaramo prazan rječnik 3
unutar rječnika ljudi.
Zatim dodajemo key:value
par tj. people(3)('Name') = 'Luna'
Unutar rječnika 3
. Slično tome radimo za ključ age
, sex
i to married
jedan po jedan. Kad ispisujemo people(3)
, dobivamo key:value
parove rječnika 3
.
Primjer 4: Dodajte još jedan rječnik u ugniježđeni rječnik
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))
Kada pokrenemo gornji program, on će dati:
('ime': 'Petar', 'dob': '29', 'spol': 'Muškarac', 'oženjen': 'Da')
U gore navedenom programu dodijelili smo doslovni rječnik people(4)
. Doslovni imaju ključeve name
, age
a sex
sa odgovarajućim vrijednostima. Zatim ispisujemo people(4)
, kako bismo vidjeli da je rječnik 4
dodan u ugniježđene osobe s rječnikom.
Izbrišite elemente iz ugniježđenog rječnika
U Pythonu koristimo izraz „del“ za brisanje elemenata iz ugniježđenog rječnika.
Primjer 5: Kako izbrisati elemente iz ugniježđenog rječnika?
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))
Kada pokrenemo gornji program, on će dati:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
U gornjem programu brišemo key:value
parove married
iz internog rječnika 3
i 4
. Zatim ispisujemo people(3)
i people(4)
kako bismo potvrdili promjene.
Primjer 6: Kako izbrisati rječnik iz ugniježđenog rječnika?
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)
Kada pokrenemo gornji program, on će dati:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ':' Žensko '))
U gore navedenom programu iz ugniježđenog rječnika obrišemo i interni rječnik 3
i 4
upotrebu del
. Zatim ispisujemo ugniježđene rječnike kako bismo potvrdili promjene.
Iteriranje kroz ugniježđeni rječnik
Pomoću petlji for možemo prelaziti kroz svaki element u ugniježđenom rječniku.
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.
- Rječniku se pristupa pomoću tipke.