Î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:value
pereche î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 2
este atribuit oamenilor. Aici, atât dicționarului au cheie name
, age
, sex
cu 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 name
utilizând ie people(1)('name')
din dicționarul intern 1
. În mod similar, imprimăm valoarea age
și sex
unul 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:value
perechea, adică people(3)('Name') = 'Luna'
în dicționar 3
. În mod similar, vom face acest lucru pentru cheie age
, sex
și married
unul câte unul. Când imprimăm people(3)
, obținem key:value
perechi 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 sex
cu valorile respective. Apoi imprimăm people(4)
, pentru a vedea că dicționarul 4
este 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:value
perechile de married
din 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 4
utilizarea del
din 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:
- 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.
- Dicționarul este accesat folosind tasta.