Pythonin sisäkkäinen sanakirja (esimerkkejä)

Tässä artikkelissa opit Pythonin sisäkkäisistä sanakirjoista. Tarkemmin, opit luomaan sisäkkäisen sanakirjan, käyttämään elementtejä, muokkaamaan niitä ja niin edelleen esimerkkien avulla.

Pythonissa sanakirja on järjestämätön kokoelma esineitä. Esimerkiksi:

 sanakirja = ('avain': 'arvo', 'avain_2': 'arvo_2')

Tässä sanakirjassa on key:valuepari, joka on suljettu sulkeissa ().

Lisätietoja sanakirjasta on Python-sanakirjassa.

Mikä on sisäkkäinen sanakirja Pythonissa?

Pythonissa sisäkkäinen sanakirja on sanakirjan sisällä oleva sanakirja. Se on kokoelma sanakirjoja yhdeksi sanakirjaksi.

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

Tässä sisäkkäinen_dikto on sisäkkäinen sanakirja, jossa on sanakirja dictAja dictB. Ne ovat kaksi sanakirjaa, joilla kullakin on oma avain ja arvo.

Luo sisäkkäinen sanakirja

Aiomme luoda sanakirjan ihmisistä sanakirjaan.

Esimerkki 1: Sisäkkäisen sanakirjan luominen

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

Kun suoritamme ohjelman yläpuolella, se tuottaa:

 (1: ('nimi': 'John', 'ikä': '27', 'sukupuoli': 'mies'), 2: ('nimi': 'Marie', 'ikä': '22', 'sukupuoli ': 'Nainen'))

Yllä olevassa ohjelmassa ihmiset ovat sisäkkäisiä sanakirjoja. Sisäinen sanakirja 1ja 2on osoitettu ihmisille. Täällä molemmat sanakirjassa on avain name, age, sexeri arvoilla. Tulostamme nyt ihmisten tulokset.

Sisäkkäisen sanakirjan käyttöelementit

Sisäkkäisen sanakirjan elementin käyttämiseksi käytämme indeksointisyntaksia ()Pythonissa.

Esimerkki 2: Käytä elementtejä syntaksin () avulla

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

Kun suoritamme ohjelman yläpuolella, se tuottaa:

 Johannes 27 Mies

Tulostamme yllä olevassa ohjelmassa avaimen arvon namekäyttämällä people(1)('name')sisäisestä sanakirjasta 1. Vastaavasti tulostamme arvon ageja sexyksi kerrallaan.

Lisää elementti sisäkkäiseen sanakirjaan

Esimerkki 3: Kuinka muuttaa tai lisätä elementtejä sisäkkäiseen sanakirjaan?

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

Kun suoritamme ohjelman yläpuolella, se tuottaa:

 ('nimi': 'Luna', 'ikä': '24', 'sukupuoli': 'nainen', 'naimisissa': 'ei')

Yllä olevassa ohjelmassa luomme tyhjän sanakirjan sanakirjojen 3sisällä.

Sitten lisätään key:valuepari eli people(3)('Name') = 'Luna'sanakirjan sisälle 3. Samoin teemme tämän avaimen age, sexja marriedyksi kerrallaan. Kun tulostamme people(3), saamme key:valuesanapareja 3.

Esimerkki 4: Lisää toinen sanakirja sisäkkäisiin sanakirjoihin

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

Kun suoritamme ohjelman yläpuolella, se tuottaa:

 ('nimi': 'Peter', 'ikä': '29', 'sukupuoli': 'mies', 'naimisissa': 'kyllä')

Yllä olevassa ohjelmassa määritämme sanakirjan kirjaimen people(4). Kirjaimellisesti on avaimet name, ageja sexjossa on vastaavat arvot. Tulostamme sitten people(4), jotta sanakirja 4lisätään sisäkkäisiin sanakirjoihin.

Poista elementit sisäkkäisestä sanakirjasta

Pythonissa poistamme elementit sisäkkäisestä sanakirjasta käyttämällä "del" -lauseketta.

Esimerkki 5: Kuinka poistaa elementtejä sisäkkäisestä sanakirjasta?

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

Kun suoritamme ohjelman yläpuolella, se tuottaa:

 ('nimi': 'Luna', 'ikä': '24', 'sukupuoli': 'nainen') ('nimi': 'Peter', 'ikä': '29', 'sukupuoli': 'mies')

Poistamme yllä olevassa ohjelmassa key:valueparit marriedsisäisestä sanakirjasta 3ja 4. Tulostamme sitten people(3)ja people(4)vahvistaaksesi muutokset.

Esimerkki 6: Kuinka sanakirja poistetaan sisäkkäisistä sanakirjoista?

 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)

Kun suoritamme ohjelman yläpuolella, se tuottaa:

 (1: ('nimi': 'John', 'ikä': '27', 'sukupuoli': 'mies'), 2: ('nimi': 'Marie', 'ikä': '22', 'sukupuoli ': 'Nainen'))

Yllä olevassa ohjelmassa poistamme sisäinen sanakirja 3ja 4käyttö delsisäkkäisistä sanakirjoista. Tulostamme sitten sisäkkäiset sanakirjat muutosten vahvistamiseksi.

Iteroituminen sisäkkäisen sanakirjan kautta

Käyttämällä for -silmukoita voimme toistaa sisäkkäisen sanakirjan jokaisen elementin läpi.

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. Sanakirjaan pääsee näppäimellä.

Mielenkiintoisia artikkeleita...