O que é dict em python?
O dicionário Python é semelhante à tabela de hash em linguagens como C ++ . O dicionário é usado para criar um par de valores-chave em python. No lugar da chave, pode ser usado o número da string e a tupla, etc. No lugar dos valores, pode haver qualquer coisa. O dicionário Python é representado por chaves. Um dicionário vazio é representado por {}. No dicionário Python, a chave e os valores são separados por ':' e o par de valores-chave é separado por ','. O exemplo abaixo explica claramente
Exemplo

  
mydictionary ={} 
mydictionary ={'name':'Ankit', 
               'college':'MNNIT', 
               'address':'Allahabad'}; 
print(mydictionary) 

Resultado :

  {'endereço': 'Allahabad', 'nome': 'Ankit', 'faculdade': 'MNNIT'}

onde é usado?
Os dicionários nos dão poder para modelar uma variedade de aplicativos do mundo real. Podemos criar um dicionário de pessoa onde podemos armazenar todas as informações relacionadas a essa pessoa como nome, idade, localização de contato etc. Nos dicionários pode-se armazenar qualquer tipo de informação, como palavras e seu significado. Os dicionários Python são muito usados ​​no machine learning, onde a máquina fala com humanos. Nessa situação, algumas palavras predefinidas são armazenadas como chaves e seu significado como valores e quando o usuário deseja alguma coisa, essa coisa é pesquisada nas chaves se for encontrada, então seu valor é retornado de outra forma mostra algum erro. Na verdade, o dicionário python pode ser usado em qualquer lugar onde o hash é usado na linguagem normal.
Exemplo para entender o uso de dict

  
mydictionary ={} 
mydictionary ={'greeting':'Hello', 
               'status':'how are you', 
               'thanks':'thanks visit again'}; 
print(mydictionary['greeting']) 
print(mydictionary['status']) 
print(mydictionary['thanks']) 

Resultado :

Olá
Como você está
obrigado visita novamente

Erros comuns ao usar dicts e overcomes A
seguir estão alguns erros ao usar dict em python.
1) Para acessar o elemento do dicionário em python, nunca o elemento de acesso direto usando o nome da chave, sempre tente usar o método .get. Se a chave não estiver presente, o método .get não imprimirá nenhum, enquanto [chave] encerrará o programa inteiro.



  
mydictionary ={} 
mydictionary ={'greeting':'Hello', 
               'status':'how are you', 
               'thanks':'thanks visit again'}; 
print(mydictionary['greeting']) 
print(mydictionary['status']) 
print(mydictionary['thanks']) 
print(mydictionary.get('college')) 
print(mydictionary['college']) 

Resultado :

Olá
Como você está
obrigado visita novamente
Nenhum

Erro de tempo de execução

 Traceback (última chamada mais recente):
  Arquivo "/home/ce65dd34285f0cb0781de2a068e658fa.py", linha 14, em
    imprimir (meudicionário ['faculdade'])
KeyError: 'faculdade'

2) Quando queremos copiar um dicionário para outro dicionário, então deve haver conhecimento adequado do método de cópia

  • new_dictionary = old_dictionary: Esta linha significa que old_dictionary e new_dictionary se referem ao mesmo objeto, o que significa que a alteração em um dicionário refletirá em outro dicionário.
  • new_dictionary = dict (old_dictionary) e new_dictionary = old_dictionary.copy(): copiará o dicionário antigo para o novo dicionário significa que a atualização no antigo não refletirá a atualização em d, mas os valores em e serão copiados usando referências. Isso fará uma cópia superficial
  • new_dictionary = copy.deepcopy (old_dictionary): Isso irá gerar uma cópia profunda.
   
mydictionary ={} 
   
mydictionary ={'greeting':'Hello', 
               'status':'how are you', 
               'thanks':'thanks visit again'}; 
   
print(mydictionary['greeting']) 
print(mydictionary['status']) 
print(mydictionary['thanks']) 
m = mydictionary 
print(m) 

Resultado :

Olá
Como você está
obrigado visita novamente
{'saudação': 'Olá', 'status': 'como vai', 'obrigado': 'obrigado, visite novamente'}

Quando não usar dictes?
Python dict são úteis em muitas situações, mas em algumas situações seu uso deve ser evitado. Em python, nunca pense que apenas dicionários são matrizes associativas. Na verdade, devemos tentar armazenar valores do mesmo tipo.

  • Se quisermos pesquisar valores, se os valores estão presentes no dicionário ou nem sempre, use nessa situação python set porque em python set é uma matriz associativa com valores bool se o elemento está presente ou não.
  • Para um número fixo de atributo, sempre use Class ou tupla nomeada em python.
  • Quando você quiser uma mensagem predefinida para uma chave específica, use coleções.defaultdict em python