Dicionário aninhado Python (com exemplos)

Neste artigo, você aprenderá sobre o dicionário aninhado em Python. Mais especificamente, você aprenderá a criar dicionário aninhado, acessar elementos, modificá-los e assim por diante com a ajuda de exemplos.

Em Python, um dicionário é uma coleção não ordenada de itens. Por exemplo:

 dicionário = ('chave': 'valor', 'chave_2': 'valor_2')

Aqui, o dicionário tem um key:valuepar entre chaves ().

Para saber mais sobre o dicionário, visite Dicionário Python.

O que é dicionário aninhado em Python?

Em Python, um dicionário aninhado é um dicionário dentro de um dicionário. É uma coleção de dicionários em um único dicionário.

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

Aqui, o nested_dict é um dicionário aninhado com o dicionário dictAe dictB. Eles são dois dicionários, cada um com sua própria chave e valor.

Crie um dicionário aninhado

Vamos criar um dicionário de pessoas dentro de um dicionário.

Exemplo 1: como criar um dicionário aninhado

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

Quando executamos o programa acima, ele produzirá:

 (1: ('nome': 'João', 'idade': '27', 'sexo': 'Homem'), 2: ('nome': 'Maria', 'idade': '22', 'sexo ': 'Fêmea'))

No programa acima, people é um dicionário aninhado. O dicionário interno 1e 2é atribuído a pessoas. Aqui, tanto o dicionário tem a chave name, age, sexcom valores diferentes. Agora, imprimimos o resultado das pessoas.

Acessar elementos de um dicionário aninhado

Para acessar o elemento de um dicionário aninhado, usamos a ()sintaxe de indexação em Python.

Exemplo 2: acesse os elementos usando a sintaxe ()

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

Quando executamos o programa acima, ele produzirá:

 John 27 Masculino

No programa acima, imprimimos o valor da chave nameusando, por exemplo, people(1)('name')do dicionário interno 1. Da mesma forma, imprimimos o valor de agee sexum por um.

Adicionar elemento a um dicionário aninhado

Exemplo 3: Como alterar ou adicionar elementos em um dicionário aninhado?

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

Quando executamos o programa acima, ele produzirá:

 ('nome': 'Luna', 'idade': '24', 'sexo': 'Mulher', 'casado': 'Não')

No programa acima, criamos um dicionário vazio 3dentro das pessoas do dicionário.

Em seguida, adicionamos o key:valuepar, ou seja, people(3)('Name') = 'Luna'dentro do dicionário 3. Da mesma forma, fazemos isso para a chave age, sexe marriedum por um. Quando imprimimos o people(3), obtemos key:valuepares de dicionário 3.

Exemplo 4: adicionar outro dicionário ao dicionário aninhado

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

Quando executamos o programa acima, ele produzirá:

 ('nome': 'Pedro', 'idade': '29', 'sexo': 'Homem', 'casado': 'Sim')

No programa acima, atribuímos um literal de dicionário a people(4). O literal têm chaves name, agee sexcom os respectivos valores. Então imprimimos o people(4), para ver se o dicionário 4é adicionado ao dicionário aninhado pessoas.

Excluir elementos de um dicionário aninhado

Em Python, usamos a instrução “del“ para excluir elementos do dicionário aninhado.

Exemplo 5: como excluir elementos de um dicionário aninhado?

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

Quando executamos o programa acima, ele produzirá:

 ('nome': 'Luna', 'idade': '24', 'sexo': 'Mulher') ('nome': 'Pedro', 'idade': '29', 'sexo': 'Homem')

No programa acima, excluímos os key:valuepares de marrieddo dicionário interno 3e 4. Em seguida, imprimimos o people(3)e people(4)para confirmar as alterações.

Exemplo 6: Como excluir um dicionário de um dicionário aninhado?

 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)

Quando executamos o programa acima, ele produzirá:

 (1: ('nome': 'João', 'idade': '27', 'sexo': 'Homem'), 2: ('nome': 'Maria', 'idade': '22', 'sexo ': 'Fêmea'))

No programa acima, excluímos o dicionário interno 3e o 4uso delde pessoas do dicionário aninhado. Em seguida, imprimimos as pessoas do dicionário aninhado para confirmar as alterações.

Iterando por meio de um dicionário aninhado

Usando os loops for, podemos iterar por meio de cada elemento em um dicionário aninhado.

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. O dicionário é acessado com a tecla.

Artigos interessantes...