Passar para o conteúdo principal

Dicionários em Python

Dictionaries in Python

Python oferece vários tipos de coleções integradas para armazenar e manipular dados. Alguns dos tipos de coleção comumente usados ​​em Python são:

  • Listas
  • Tuplas
  • Conjuntos
  • Dicionários
  • Arrays
  • Deques

Existem também outros tipos de coleção menos comumente usados ​​em Python, como namedtuples, dicionários padrão e heaps, que são versões especializadas dos tipos de coleção básicos listados acima.

Definição de Dicionário

Um dicionário em Python é uma coleção de pares chave-valor, onde cada chave está associada a um valor. É uma estrutura de dados não ordenada, e cada chave no dicionário deve ser única.

Aqui está um exemplo de dicionário em Python:

# Define a dictionary with key-value pairs
student = {
    "name": "Alice",
    "id": 12345,
    "courses": ["Math", "Physics", "Chemistry"],
    "grades": {"Math": 90, "Physics": 85, "Chemistry": 95}
}

Como Criar um Dicionário em Python

Vamos dar uma olhada em como criar ou inicializar um dicionário em Python. Você pode fazer isso usando chaves {} ou utilizando a função dict(). Aqui estão alguns exemplos:

  • Usando chaves:
# Create an empty dictionary
empty_dict = {}

# Create a dictionary with key-value pairs
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

# Create a dictionary with mixed data types
mixed_dict = {'name': 'John', 'age': 30, 'scores': [85, 90, 95]}
  • Usando a função dict():
# Create an empty dictionary
empty_dict = dict()

# Create a dictionary with key-value pairs
my_dict = dict(name='John', age=30, city='New York')

# Create a dictionary with mixed data types
mixed_dict = dict(name='John', age=30, scores=[85, 90, 95])

Em ambos os casos, o dicionário é criado com um conjunto de pares chave-valor. As chaves devem ser únicas e de tipos de dados imutáveis (como strings, números ou tuplas), enquanto os valores podem ser de qualquer tipo de dado, incluindo listas, dicionários e outros objetos.

Deletando um Dicionário

Em Python, você pode deletar um dicionário usando a palavra-chave del seguida pelo nome da variável do dicionário. Aqui está um exemplo:

my_dict = {'key1': 'value1', 'key2': 'value2'}
del my_dict

No exemplo acima, criamos um dicionário my_dict com dois pares de chave-valor. A palavra-chave del é usada para deletar o dicionário especificando o nome da variável my_dict.

Após executar a instrução del, o dicionário my_dict será completamente removido da memória, e qualquer tentativa de acessá-lo resultará em um NameError porque a variável não existe mais.

Acesso a Dicionários em Python

Você pode obter valor de um dicionário usando suas chaves. Aqui está um exemplo:

# Creating a dictionary
my_dict = {'apple': 3, 'banana': 5, 'orange': 2}

# Accessing a value using its key
print(my_dict['apple'])  # Output: 3
print(my_dict['banana']) # Output: 5

Você também pode obter o valor associado a uma chave em um dicionário utilizando o método get(). Aqui está um exemplo:

# create a dictionary
my_dict = {'apple': 1, 'pineapple': 2, 'orange': 3}

# get the value associated with the 'apple' key
apple_value = my_dict.get('apple')

# print the value
print(apple_value) # Output: 1

Se a chave não for encontrada no dicionário, get() retorna None por padrão.

Dicionário de Dicionários

Você pode aninhar um dicionário dentro de outro dicionário simplesmente usando um dicionário como valor em outro dicionário. Aqui está um exemplo:

# create a dictionary of dictionaries
my_dict = {
    'person1': {'name': 'John', 'age': 28},
    'person2': {'name': 'Jane', 'age': 32}
}

# accessing values in the dictionary of dictionaries
print(my_dict['person1']['name']) # output: 'John'
print(my_dict['person2']['age']) # output: 32

Para acessar os valores nos dicionários aninhados, usamos dois conjuntos de colchetes. O primeiro conjunto de colchetes é usado para acessar o dicionário externo, e o segundo conjunto de colchetes é usado para acessar o dicionário interno.

Você também pode adicionar novos dicionários ao dicionário aninhado, assim:

# adding a new person to the dictionary of dictionaries
my_dict['person3'] = {'name': 'Alex', 'age': 25}

# accessing the new person's information
print(my_dict['person3']['name']) # output: 'Alex'

Da mesma forma, você pode atualizar valores nos dicionários aninhados:

# create a dictionary of dictionaries
my_dict = {
    'person1': {'name': 'John', 'age': 28},
    'person2': {'name': 'Jane', 'age': 32}
}

# updating a person's age in the dictionary of dictionaries
my_dict['person1']['age'] = 30

# accessing the updated age
print(my_dict['person1']['age']) # output: 30

De modo geral, combinar dicionários em Python é uma maneira simples e poderosa de armazenar e acessar estruturas de dados hierárquicas.

Dicionário de Objetos em Python

Este tópico é bastante similar a dicionários aninhados - você pode criar um dicionário de objetos usando instâncias do objeto como valores e utilizando chaves únicas para acessar os objetos. Aqui está um exemplo:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# create objects
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)
person3 = Person("Charlie", 35)

# create dictionary of objects
people = {
    "person1": person1,
    "person2": person2,
    "person3": person3
}

# access objects using keys
print(people["person1"].name)   # outputs "Alice"
print(people["person2"].age)    # outputs 30

Inversão de Chaves e Valores em Dicionário

Vamos revisar um exemplo de como inverter chaves e valores em dicionário em Python. Para esse propósito, você pode usar uma compreensão de dicionário e trocar as chaves e valores em cada par chave-valor:

my_dict = {'a': 1, 'b': 2, 'c': 3}

reversed_dict = {value: key for key, value in my_dict.items()}

print(reversed_dict) # Output: {1: 'a', 2: 'b', 3: 'c'}

No código acima, primeiro definimos um dicionário my_dict com alguns pares chave-valor. Em seguida, criamos um novo dicionário reversed_dict utilizando uma compreensão de dicionário. Na compreensão, iteramos sobre o dicionário my_dict usando o método items(), que retorna uma lista de pares (chave, valor). Para cada par chave-valor, trocamos as posições da chave e do valor, e adicionamos o novo par (valor, chave) ao reversed_dict.

Contribua connosco!

Não hesite em contribuir para os tutoriais Python no GitHub: crie uma bifurcação, actualize o conteúdo e emita um pedido de retirada.

Profile picture for user almargit
Python developer, content manager.
Profile picture for user AliaksandrSumich
Atualizado: 2024-05-03 22:51
Profile picture for user angarsky
Revisto e aprovado