image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Antonio Guedes
Antonio Guedes07/04/2025 22:13
Compartilhe
Microsoft Certification Challenge #3 DP-100Recomendados para vocêMicrosoft Certification Challenge #3 DP-100

Dicionários em Python Comece entendendo como começar.

  • #Python

📖 Dicionários

📌Definição

📖 Dicionários são coleções de dados cuja estrutura é de pares "chave" : "valor"
  • 🔑Chave é um identificador dos valores que associam-se a elas.
  • 🎯valor, por outro lado, pode ser qualquer tipo de dados válidos em Python, inclusive estruturas de dados, até mesmo outros dicionários.
Cada par chave: valor é separado por vírgula dentro das chaves {}.

Criando um dicionário:

Método 1: Declaração explícita

pessoa = {
  "nome": "Fulainho",
  "telefone": "71999999999",
  "email":"fulaninho!gmail.com",
  "idade": 21,
  "skills": ["python", "html", "css", "javascript", "java"],
  "estado_civil":"solteiro",
  "situacao_profissional": "estudante"
}

obs.: Percebeu que criei o e-mail com erro de digitação? Mais tarde conversaremos sobre isso 😊

Não há muito o que dizer no código acima. O método explícito de criação de dicionário. nome_do_dicionario = {"chave":"valor", "chave2":"valor2"}.

Pares 'chave: valor' separados por vírgula, cercados por '{ }' e atribuindo essa estrutura a uma variável.

Método 2: Criando um dicionário vazio

# Utilizando o mesmo método explícito, atribuindo apenas as { } à variável.
moto = {}

# Usando o método construtor da classe dict
carro = dict()

Método 3: A partir de iteráveis

No exemplo abaixo estou criando um dicionário de vogais, a partir de uma string (iterável).

No caso as chaves do dicionário serão as próprias vogais e os valores igualmente.

vogais = 'aeiou'

vogais_dict = {}

for v in vogais:
  vogais_dict[v] = v
  
# saída: {'a': 'a', 'e': 'e', 'i': 'i', 'o': 'o', 'u': 'u'}

Mas é possível também criar um dicionário que as chaves sejam inteiros.

Aproveito o ensejo para mostrar outro método.

Método 4: A partir do método zip()

vogais = 'aeiouAEIOU'

posicoes = range(len(vogais)) #Cria uma sequência de 0 a 9 (o mesmo tamanho da string)

d_vogais = dict(zip(posicoes, vogais))

# SAÍDA: {0: 'a', 1: 'e', 2: 'i', 3: 'o', 4: 'u', 5: 'A', 6: 'E', 7: 'I', 8: 'O', 9: 'U'}

Método 5: Utilizando o `dict comprehension` (compreensão de dicionário)

Com `dict comprehension`, é possível construir dicionários de forma compacta e expressiva:

dict_vogais = {i: v for i, v in enumerate(vogais) }

#Veja que o resultado é exatamente igual ao código anterior usando o zip()

# Saída: {0: 'a', 1: 'e', 2: 'i', 3: 'o', 4: 'u', 5: 'A', 6: 'E', 7: 'I', 8: 'O', 9: 'U'}
Também é possível obter o resultado anterior, com as vogais como chave e as próprias vogais como valor por meio do método `dict comprehension`.
dic_vogais = {v: v.upper() for v in vogais}

# SAÍDA: {'a': 'A', 'e': 'E', 'i': 'I', 'o': 'O', 'u': 'U', 'A': 'A', 'E': 'E', 'I': 'I', 'O': 'O', 'U': 'U'}

Método 6: A partir de uma lista de `tuplas`.

dados = [("nome", "Fernando"), ("idade", 44), ("email", "guedesindev@gmail.com")]

dados_dict = dict(dados)

# SAÍDA: {'nome': 'Fernando', 'idade': 44, 'email': 'guedesindev@gmail.com'}

Método 7: A partir de variáveis

É possível criar dicionários passando pares `chave=valor` diretamente no método `dict()`.
Isso funciona bem quando as chaves são nomes válidos de variáveis (sem espaços, acentos ou caracteres especiais).
Você pode ter a situação a seguir:
nome = "Fulaninho"

telefone` = "71999999999"

email = "fulainho!gmail.com",

idade = 21

skills = ["python", "html", "css", "javascript", "java"]

estado_civil = :"solteiro"

situacao_profissional = "estudante"
E tentar criar um dicionário com essa estrutura, mas não é possível usar as variáveis como chaves.
Entretanto, você pode usar o método construtor para criar um mapeamento do dicionário.

💡 Veja só que massa!! 🧩.

dict_pessoa = dict(
    nome = "Fulaninho",
    telefone = "71999999999",
    email = "fulainho!gmail.com",
    idade = 21,
    skills = ["python", "html", "css", "javascript", "java"],
    estado_civil = "solteiro",
    situacao_profissional = "estudante"
)

# SAÍDA: {
#    'nome': 'Fernando',
#    'telefone': '71999200536',
#    'email': 'guedesindev!gmail.com',
#    'idade': 44,
#    'skills': ['python', 'html', 'css', 'javascript', 'java'],
#    'estado_civil': 'casado',
#    'situacao_profissional': 'empregado'
# }

🎖️Muito legal, né 😊 ?

🧠 Mas qual é a melhor forma para criar um dicionário?

Depende do seu objetivo.

image

🔗 Para mais detalhes, consulte a documentação oficial de dicionários

Você deve estar se perguntando: Ué não vai corrigir o e-mail de fulaninho que está digitado errado?

Vou sim, mas no próximo artigo que tratarei sobre como manipular os dados do dicionário.

Por enquanto, diz aí qual método para criar um dicionário achou mais interessante? 😜

Compartilhe
Recomendados para você
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comentários (2)
Antonio Guedes
Antonio Guedes - 08/04/2025 16:23

Olá @DIO Comumunity,


Muito obrigado pelo feedback. Estou tentando bastante para aprender de verdade! Estou começando python, fazendo o curso com o Guilherme Arthur e assim que termina a aula vou lá na documentação e no powershell e começo a fuçar a linguagem, mas somente o conceito que assisti aula. Estou me esforçando para fazer isso antes de começar os desafios.


No powershell coloco o comando: help(dict) # por exemplo e aí vou explorando tudo que aparece lá!

No final deste artigo inclui uma tabela que eu consegui extrair quais as melhores situações para cada método de criação de dicionários.



🧠 Mas qual é a melhor forma para criar um dicionário?

Depende do seu objetivo.

image

Não sei ao certo se foi isso que perguntou, mas como ainda sou iniciante só consegui mapear essas situações, pq nunca passei por situações mais práticos.


Já escrevi um outro artigo a respeito de editar valores no dicionário.😊

DIO Community
DIO Community - 08/04/2025 15:02

Antonio, seu artigo sobre dicionários em Python está muito bem estruturado! Você abordou uma variedade de métodos para criar dicionários de forma clara e objetiva, o que facilita muito para quem está começando a aprender Python.

Aqui na DIO, sabemos que a manipulação de dicionários é uma habilidade essencial para quem está começando a programar, e o que você trouxe é perfeito para reforçar os conceitos e mostrar a flexibilidade dessa estrutura de dados. No contexto dos nossos bootcamps, onde incentivamos os alunos a experimentarem diferentes abordagens, entender as diversas maneiras de criar e manipular dicionários ajuda bastante a desenvolver soluções mais eficientes e organizadas.

Você tem alguma dica de quando escolher um método sobre o outro, dependendo do tipo de projeto que está sendo desenvolvido?

Recomendados para vocêMicrosoft Certification Challenge #3 DP-100