Python ugniježđeni rječnik (s primjerima)

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:valuepar 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 dictAi 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 1i 2dodijeljen je ljudima. Evo, kako je rječnik imati ključ name, age, sexs 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 namekoristeći tj. people(1)('name')Iz internog rječnika 1. Slično tome, ispisujemo vrijednost agei sexjedan 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 3unutar rječnika ljudi.

Zatim dodajemo key:valuepar tj. people(3)('Name') = 'Luna'Unutar rječnika 3. Slično tome radimo za ključ age, sexi to marriedjedan po jedan. Kad ispisujemo people(3), dobivamo key:valueparove 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, agea sexsa odgovarajućim vrijednostima. Zatim ispisujemo people(4), kako bismo vidjeli da je rječnik 4dodan 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:valueparove marriediz internog rječnika 3i 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 3i 4upotrebu 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:

  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. Rječniku se pristupa pomoću tipke.

Zanimljivi članci...