Dicționar imbricat Python (cu exemple)

În acest articol, veți afla despre dicționarul imbricat în Python. Mai precis, veți învăța să creați dicționar imbricat, să accesați elemente, să le modificați și așa mai departe cu ajutorul exemplelor.

În Python, un dicționar este o colecție neordonată de articole. De exemplu:

 dictionar = ('cheie': 'valoare', 'cheie_2': 'valoare_2')

Aici, dicționarul are o key:valuepereche închisă între paranteze ().

Pentru a afla mai multe despre dicționar, vă rugăm să vizitați Dicționarul Python.

Ce este dicționarul imbricat în Python?

În Python, un dicționar imbricat este un dicționar din interiorul unui dicționar. Este o colecție de dicționare într-un singur dicționar.

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

Aici, nested_dict este un dicționar imbricat cu dicționarul dictAși dictB. Acestea sunt două dicționare având fiecare cheie și valoare proprii.

Creați un dicționar imbricat

Vom crea un dicționar de persoane într-un dicționar.

Exemplul 1: Cum se creează un dicționar imbricat

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

Când rulăm programul de mai sus, acesta va genera:

 (1: ('nume': 'Ioan', 'vârstă': '27', 'sex': 'Bărbat'), 2: ('nume': 'Marie', 'vârstă': '22', 'sex ': 'Femeie'))

În programul de mai sus, People este un dicționar imbricat. Dicționarul intern 1și 2este atribuit oamenilor. Aici, atât dicționarului au cheie name, age, sexcu valori diferite. Acum, imprimăm rezultatul oamenilor.

Accesați elementele unui dicționar imbricat

Pentru a accesa elementul unui dicționar imbricat, folosim ()sintaxa de indexare în Python.

Exemplul 2: Accesați elementele folosind sintaxa ()

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

Când rulăm programul de mai sus, acesta va genera:

 Ioan 27 Bărbat

În programul de mai sus, imprimăm valoarea cheii nameutilizând ie people(1)('name')din dicționarul intern 1. În mod similar, imprimăm valoarea ageși sexunul câte unul.

Adăugați element la un dicționar imbricat

Exemplul 3: Cum se schimbă sau se adaugă elemente într-un dicționar imbricat?

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

Când rulăm programul de mai sus, acesta va genera:

 („nume”: „Luna”, „vârstă”: „24”, „sex”: „Femeie”, „căsătorit”: „Nu”)

În programul de mai sus, creăm un dicționar gol 3în interiorul persoanelor din dicționar.

Apoi, adăugăm key:valueperechea, adică people(3)('Name') = 'Luna'în dicționar 3. În mod similar, vom face acest lucru pentru cheie age, sexși marriedunul câte unul. Când imprimăm people(3), obținem key:valueperechi de dicționar 3.

Exemplul 4: adăugați un alt dicționar în dicționarul imbricat

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

Când rulăm programul de mai sus, acesta va genera:

 ('nume': 'Petru', 'vârstă': '29', 'sex': 'Bărbat', 'căsătorit': 'Da')

În programul de mai sus, atribuim un dicționar literal people(4). Literală au chei name, ageși sexcu valorile respective. Apoi imprimăm people(4), pentru a vedea că dicționarul 4este adăugat la persoanele din dicționar imbricate.

Ștergeți elemente dintr-un dicționar imbricat

În Python, folosim instrucțiunea „del“ pentru a șterge elemente din dicționarul imbricat.

Exemplul 5: Cum să ștergeți elemente dintr-un dicționar imbricat?

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

Când rulăm programul de mai sus, acesta va genera:

 ('nume': 'Luna', 'vârstă': '24', 'sex': 'Femeie') ('nume': 'Petru', 'vârstă': '29', 'sex': 'Bărbat')

În programul de mai sus, ștergem key:valueperechile de marrieddin dicționarul intern 3și 4. Apoi, imprimăm people(3)și people(4)pentru a confirma modificările.

Exemplul 6: Cum să ștergeți dicționarul dintr-un dicționar imbricat?

 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)

Când rulăm programul de mai sus, acesta va genera:

 (1: ('nume': 'Ioan', 'vârstă': '27', 'sex': 'Bărbat'), 2: ('nume': 'Marie', 'vârstă': '22', 'sex ': 'Femeie'))

În programul de mai sus, ștergem atât dicționarul intern, cât 3și 4utilizarea deldin dicționarul imbricat. Apoi, imprimăm persoanele din dicționar imbricate pentru a confirma modificările.

Iterând printr-un dicționar imbricat

Folosind buclele for, putem itera prin fiecare element dintr-un dicționar imbricat.

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. Dicționarul este accesat folosind tasta.

Articole interesante...