Vnorený slovník v Pythone (s príkladmi)

V tomto článku sa dozviete o vnorenom slovníku v jazyku Python. Konkrétnejšie sa pomocou príkladov naučíte vytvárať vnorené slovníky, pristupovať k prvkom, upravovať ich atď.

V Pythone je slovník neusporiadanou zbierkou položiek. Napríklad:

 dictionary = ('key': 'value', 'key_2': 'value_2')

V tomto slovníku je key:valuedvojica uzavretá v zložených zátvorkách ().

Ak sa chcete dozvedieť viac informácií o slovníku, navštívte slovník Python.

Čo je vnorený slovník v Pythone?

V Pythone je vnoreným slovníkom slovník v slovníku. Je to zbierka slovníkov do jedného slovníka.

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

Nested_dict je vnorený slovník so slovníkom dictAa dictB. Sú to dva slovníky, z ktorých každý má svoj vlastný kľúč a hodnotu.

Vytvorte vnorený slovník

Chystáme sa vytvoriť slovník ľudí v slovníku.

Príklad 1: Ako vytvoriť vnorený slovník

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

Keď spustíme program vyššie, vygeneruje sa:

 (1: („meno“: „John“, „vek“: „27“, „pohlavie“: „muž“), 2: („meno“: „Marie“, „vek“: „22“, „pohlavie“ ': 'Žena'))

Vo vyššie uvedenom programe sú ľudia vnoreným slovníkom. Interný slovník 1a 2je priradený ľuďom. Tu, ako slovník má kľúč name, age, sexs rôznymi hodnotami. Teraz vytlačíme výsledok ľudí.

Prístup k prvkom vnoreného slovníka

Na prístup k prvku vnoreného slovníka používame indexovaciu ()syntax v Pythone.

Príklad 2: Prístup k prvkom pomocou syntaxe ()

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

Keď spustíme program vyššie, vygeneruje sa:

 Ján 27 Muž

Vo vyššie uvedenom programe tlačíme hodnotu kľúča namepomocou tj. people(1)('name')Z interného slovníka 1. Podobne vytlačíme hodnotu agea sexjednu po druhej.

Pridajte prvok do vnoreného slovníka

Príklad 3: Ako zmeniť alebo pridať prvky do vnoreného slovníka?

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

Keď spustíme program vyššie, vygeneruje sa:

 ('name': 'Luna', 'age': '24', 'sex': 'Female', 'ženatý': 'No')

Vo vyššie uvedenom programe vytvoríme prázdny slovník 3vo vnútri slovníka people.

Potom pridáme key:valuedvojicu, tj. people(3)('Name') = 'Luna'Do slovníka 3. Rovnako tak to pre kľúč age, sexa marriedjeden po druhom. Keď tlačíme people(3), dostaneme key:valuedvojice slovníkov 3.

Príklad 4: Pridajte do vnoreného slovníka ďalší slovník

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

Keď spustíme program vyššie, vygeneruje sa:

 ('name': 'Peter', 'age': '29', 'sex': 'Muž', 'ženatý': 'Yes')

Vo vyššie uvedenom programe priraďujeme slovníkový literál k people(4). Doslovný majú kľúče name, agea sexs príslušnými hodnotami. Potom vytlačíme people(4), aby sme zistili, že slovník 4je pridaný do ľudí vnorených do slovníka.

Odstrániť prvky z vnoreného slovníka

V Pythone používame príkaz „del“ na odstránenie prvkov z vnoreného slovníka.

Príklad 5: Ako odstrániť prvky z vnoreného slovníka?

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

Keď spustíme program vyššie, vygeneruje sa:

 ('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')

Vo vyššie uvedenom programe odstránime key:valuedvojice marriedz interného slovníka 3a 4. Potom vytlačíme znaky people(3)a people(4)na potvrdenie zmien.

Príklad 6: Ako odstrániť slovník z vnoreného slovníka?

 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)

Keď spustíme program vyššie, vygeneruje sa:

 (1: („meno“: „John“, „vek“: „27“, „pohlavie“: „muž“), 2: („meno“: „Marie“, „vek“: „22“, „pohlavie“ ': 'Žena'))

Vo vyššie uvedenom programe odstránime interný slovník 3aj 4použitie delz vnoreného slovníka people. Potom vytlačíme vnorené slovníky, aby sme potvrdili zmeny.

Iterácia cez vnorený slovník

Pomocou slučiek for môžeme prechádzať jednotlivými prvkami vo vnorenom slovníku.

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. Prístup k slovníku je možný pomocou kľúča.

Zaujímavé články...