Vnořený slovník Pythonu (s příklady)

V tomto článku se dozvíte o vnořeném slovníku v Pythonu. Přesněji se naučíte vytvářet vnořený slovník, přistupovat k prvkům, upravovat je atd. Pomocí příkladů.

V Pythonu je slovník neuspořádanou kolekcí položek. Například:

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

Zde má slovník key:valuedvojici uzavřenou ve složených závorkách ().

Další informace o slovníku najdete ve slovníku Python Dictionary.

Co je vnořený slovník v Pythonu?

V Pythonu je vnořeným slovníkem slovník uvnitř slovníku. Je to sbírka slovníků do jednoho slovníku.

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

Zde je nested_dict vnořený slovník se slovníkem dictAa dictB. Jsou to dva slovníky, z nichž každý má svůj vlastní klíč a hodnotu.

Vytvořte vnořený slovník

Chystáme se vytvořit slovník lidí ve slovníku.

Příklad 1: Jak vytvořit vnořený slovník

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

Když spustíme výše uvedený program, bude mít výstup:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Ženský'))

Ve výše uvedeném programu jsou lidé vnořeným slovníkem. Interní slovník 1a 2je přiřazen lidem. Zde, jak slovník má klíč name, age, sexs různými hodnotami. Nyní vytiskneme výsledek lidí.

Přístup k prvkům vnořeného slovníku

Pro přístup k prvku vnořeného slovníku používáme indexovací ()syntaxi v Pythonu.

Příklad 2: Přístup k prvkům pomocí 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'))

Když spustíme výše uvedený program, bude mít výstup:

 Jan 27 Muž

Ve výše uvedeném programu vytiskneme hodnotu klíče namepomocí tj. people(1)('name')Z interního slovníku 1. Podobně tiskneme hodnotu agea sexjeden po druhém.

Přidat prvek do vnořeného slovníku

Příklad 3: Jak změnit nebo přidat prvky ve vnořeném slovníku?

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

Když spustíme výše uvedený program, bude mít výstup:

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

Ve výše uvedeném programu vytvoříme 3uvnitř slovníku people prázdný slovník .

Potom přidáme key:valuedvojici, tj. people(3)('Name') = 'Luna'Do slovníku 3. Stejně tak to pro klíč age, sexa marriedjeden po druhém. Když vytiskneme people(3), získáme key:valuedvojice slovníků 3.

Příklad 4: Přidejte do vnořeného slovníku další 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))

Když spustíme výše uvedený program, bude mít výstup:

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

Ve výše uvedeném programu přiřadíme doslovný slovník people(4). Doslovný mají klíče name, agea sexs příslušnými hodnotami. Poté vytiskneme people(4), abychom viděli, že slovník 4je přidán do vnořených slovníků.

Odstranit prvky z vnořeného slovníku

V Pythonu používáme příkaz „del“ k odstranění prvků z vnořeného slovníku.

Příklad 5: Jak odstranit prvky ze vnořeného slovníku?

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

Když spustíme výše uvedený program, bude mít výstup:

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

Ve výše uvedeném programu odstraníme key:valuepáry marriedz interního slovníku 3a 4. Poté vytiskneme people(3)a people(4)pro potvrzení změn.

Příklad 6: Jak odstranit slovník ze vnořeného slovníku?

 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)

Když spustíme výše uvedený program, bude mít výstup:

 (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Ženský'))

Ve výše uvedeném programu odstraníme jak interní slovník, 3tak 4použití delz vnořeného slovníku people. Poté vytiskneme vnořené lidi slovníku, abychom potvrdili změny.

Iterace vnořeným slovníkem

Pomocí smyček for můžeme procházet jednotlivými prvky ve vnořeném 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. Slovník je přístupný pomocí klíče.

Zajímavé články...