Python Nested Dictionary (med eksempler)

I denne artikel lærer du om indlejret ordbog i Python. Mere specifikt lærer du at oprette indlejret ordbog, få adgang til elementer, ændre dem og så videre ved hjælp af eksempler.

I Python er en ordbog en ikke-ordnet samling af genstande. For eksempel:

 ordbog = ('nøgle': 'værdi', 'nøgle_2': 'værdi_2')

Her har ordbogen et key:valuepar lukket inden for krøllede parenteser ().

For at lære mere om ordbogen, besøg Python Dictionary.

Hvad er Nested Dictionary i Python?

I Python er en indlejret ordbog en ordbog inde i en ordbog. Det er en samling af ordbøger i en enkelt ordbog.

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

Her er nested_dict en indlejret ordbog med ordbogen dictAog dictB. De er to ordbøger, der hver har sin egen nøgle og værdi.

Opret en indlejret ordbog

Vi opretter ordbog over mennesker i en ordbog.

Eksempel 1: Sådan oprettes en indlejret ordbog

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

Når vi kører over programmet, udsendes det:

 (1: ('navn': 'John', 'alder': '27', 'køn': 'Mand'), 2: ('navn': 'Marie', 'alder': '22', 'køn ': 'Kvinde'))

I ovenstående program er folk en indlejret ordbog. Den interne ordbog 1og 2er tildelt folk. Her både ordbogen har nøglen name, age, sexmed forskellige værdier. Nu udskriver vi resultatet af mennesker.

Få adgang til elementer i en indlejret ordbog

For at få adgang til element i en indlejret ordbog bruger vi indekseringssyntaks ()i Python.

Eksempel 2: Få adgang til elementerne ved hjælp af () syntaksen

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

Når vi kører over programmet, udsendes det:

 Johannes 27 Mand

I ovenstående program udskriver vi værdien på nøglen nameved hjælp af dvs. people(1)('name')fra intern ordbog 1. På samme måde udskriver vi værdien af ageog sexen efter en.

Føj element til en indlejret ordbog

Eksempel 3: Hvordan ændres eller tilføjes elementer i en indlejret ordbog?

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

Når vi kører over programmet, udsendes det:

 ('navn': 'Luna', 'alder': '24', 'køn': 'Kvinde', 'gift': 'Nej')

I ovenstående program opretter vi en tom ordbog 3inde i ordbogen.

Derefter tilføjer vi key:valueparret, dvs. people(3)('Name') = 'Luna'inde i ordbogen 3. Ligeledes vi gøre dette for nøglen age, sexog marriedén efter én. Når vi udskriver people(3), får vi key:valuepar ordbog 3.

Eksempel 4: Føj en anden ordbog til den indlejrede ordbog

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

Når vi kører over programmet, udsendes det:

 ('navn': 'Peter', 'alder': '29', 'køn': 'Mand', 'gift': 'Ja')

I ovenstående program tildeler vi en ordbog ordbog til people(4). Den bogstavelige har nøgler name, ageog sexmed respektive værdier. Derefter udskriver vi for people(4)at se, at ordbogen 4tilføjes hos indlejrede ordbogfolk.

Slet elementer fra en indlejret ordbog

I Python bruger vi “del” udsagn til at slette elementer fra indlejret ordbog.

Eksempel 5: Hvordan slettes elementer fra en indlejret ordbog?

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

Når vi kører over programmet, udsendes det:

 ('navn': 'Luna', 'alder': '24', 'køn': 'Kvinde') ('navn': 'Peter', 'alder': '29', 'køn': 'Mand')

I ovenstående program sletter vi key:valueparrene marriedfra intern ordbog 3og 4. Derefter udskriver vi people(3)og people(4)bekræfter ændringer.

Eksempel 6: Hvordan slettes ordbog fra en indlejret ordbog?

 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)

Når vi kører over programmet, udsendes det:

 (1: ('navn': 'John', 'alder': '27', 'køn': 'Mand'), 2: ('navn': 'Marie', 'alder': '22', 'køn ': 'Kvinde'))

I ovenstående program, vi sletter både den indbyggede ordbog 3og 4hjælp delfra de indlejrede ordbog mennesker. Derefter udskriver vi de indlejrede ordbogsfolk for at bekræfte ændringer.

Iterering gennem en indlejret ordbog

Ved hjælp af for loops kan vi gentage hvert element i en indlejret ordbog.

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. Ordbogen tilgås ved hjælp af nøglen.

Interessante artikler...