Dicionário em Python com sintaxe e exemplo

O que é um dicionário em Python?

A Dicionário em Python é a coleção não ordenada e mutável de valores de dados que contém pares de valores-chave. Cada par de valores-chave no dicionário mapeia a chave para seu valor associado, tornando-o mais otimizado. Um dicionário em python é declarado colocando uma lista separada por vírgulas de pares de valores-chave usando chaves ({}). O Dicionário Python é classificado em dois elementos: Chaves e Valores.

  • As chaves serão um único elemento
  • Os valores podem ser uma lista ou lista dentro de uma lista, números, etc.

Sintaxe para Dicionário Python

Dict = { ' Tim': 18,  xyz,.. }

O dicionário está listado em encaracolado brackets, dentro desses cacheados brackets, chaves e valores são declarados. Cada chave é separada de seu valor por dois pontos (:), enquanto vírgulas separam cada elemento.

Sintaxe para Dicionário Python

Propriedades das chaves do dicionário

Existem dois pontos importantes ao usar chaves de dicionário

  • Não é permitida mais de uma entrada por chave (nenhuma chave duplicada é permitida)
  • Os valores no dicionário podem ser de qualquer tipo, enquanto as chaves devem ser imutáveis ​​como os números, tuplas
  • As chaves do dicionário diferenciam maiúsculas de minúsculas - O mesmo nome de chave, mas com casos diferentes, são tratados como chaves diferentes nos dicionários Python.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • No código, temos o nome do dicionário “Dict”
  • Declaramos o nome e a idade da pessoa no dicionário, onde nome é “Chaves” e idade é o “valor”
  • Agora execute o código
  • Ele recupera a idade de Tiffany do dicionário.

Métodos de dicionário Python

Copiando dicionário

Você também pode copiar o dicionário inteiro para um novo dicionário. Por exemplo, aqui copiamos nosso dicionário original para o novo nome de dicionário “Boys” e “Girls”.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
  • Temos o dicionário original (Dict) com nome e idade dos meninos e meninas juntos
  • Mas queremos que a lista de meninos seja separada da lista de meninas, por isso definimos o elemento meninos e meninas em um dicionário separado com os nomes “Meninos” e “Meninas”.
  • Agora, novamente, criamos novos nomes de dicionário “aluno X” e “aluno Y”, onde todas as chaves e valores do dicionário masculino são copiados para o aluno X e as meninas serão copiadas para o aluno Y.
  • Então agora você não precisa olhar a lista inteira no dicionário principal (Dict) para verificar quem é menino e quem é menina, basta imprimir o aluno X se quiser a lista de meninos e o AlunoY se quiser a lista de meninas
  • Então, ao executar o dicionário aluno X e aluno Y, ele fornecerá todos os elementos presentes no dicionário de “meninos” e “meninas” separadamente

Atualizando Dicionário

Você também pode atualizar um dicionário adicionando uma nova entrada ou um par de valores-chave a uma entrada existente ou excluindo uma entrada existente. Aqui no exemplo, adicionaremos outro nome, “Sarah” ao nosso dicionário existente.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • Nosso dicionário existente “Dict” não tem o nome “Sarah”.
  • Usamos o método Dict.update para adicionar Sarah ao nosso dicionário existente
  • Agora execute o código, ele adiciona Sarah ao nosso dicionário existente

Excluir chaves do dicionário

O dicionário Python dá a você a liberdade de excluir qualquer elemento da lista de dicionários. Suponha que você não queira o nome Charlie na lista, então você pode remover o elemento-chave seguindowing código.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print(Dict)

Ao executar esse código, ele deverá imprimir a lista do dicionário sem Charlie.

  • Usamos o código del Dict
  • Quando o código é executado, ele exclui o Charlie do dicionário principal

Método de itens de dicionário()

O método items() retorna uma lista de pares de tuplas (chaves, valor) no dicionário.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • Usamos o método code items() para nosso Dict.
  • Quando o código foi executado, ele retorna uma lista de itens (chaves e valores) do dicionário

Verifique se uma determinada chave já existe em um dicionário

Para uma determinada lista, você também pode verificar se nosso dicionário filho existe ou não no dicionário principal. Aqui temos dois subdicionários “Boys” e “Girls”, agora queremos verificar se nosso dicionário Boys existe em nosso “Dict” principal ou não. Para isso, usamos o método for loop com o método else if.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
    if key in Dict.keys():
        print True
    else:       
        print False


Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
    if key in list(Dict.keys()):
        print(True)
    else:       
        print(False)
  • A loop no código verifica cada chave no dicionário principal para chaves de meninos
  • Se existir no dicionário principal, deve imprimir verdadeiro ou então deve imprimir falso
  • Ao executar o código, ele imprimirá “True” três vezes, pois temos três elementos em nosso dicionário “Boys”
  • Então indica que os “Boys” existem em nosso dicionário principal (Dict)

Classificando o Dicionário

No dicionário, você também pode classificar os elementos. Por exemplo, se quisermos imprimir o nome dos elementos do nosso dicionário em ordem alfabética, temos que usar o loop for. Ele classificará cada elemento do dicionário de acordo.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
      print":".join((S,str(Dict[S])))

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
      print(":".join((S,str(Dict[S]))))
  • Declaramos a variável estudantes para nosso dicionário “Dict”.
  • Depois usamos o código Students.sort, que irá ordenar o elemento dentro do nosso dicionário
  • Mas para classificar cada elemento no dicionário, executamos o loop for declarando a variável S
  • Agora, quando executarmos o código, o loop for chamará cada elemento do dicionário e imprimirá a string e o valor em uma ordem

Funções integradas do dicionário Python

Método len() do dicionário

A função len() fornece o número de pares no dicionário.

Por exemplo,

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Length : %d" % len (Dict))

Quando a função len (Dict) é executada, ela fornece a saída “4”, pois há quatro elementos em nosso dicionário

Tipos de Variáveis

Python não exige declarar explicitamente o espaço de memória de reserva; isso acontece automaticamente. Os valores atribuídos à variável “=” com sinal de igual são usados. O código para determinar o tipo de variável é “%type (Dict).”

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Use o código %type para saber o tipo da variável
  • Quando o código foi executado, ele informa que o tipo de variável é um dicionário

Método cmp() da lista Python

O método de comparação cmp() é usado em Python para comparar valores e chaves de dois dicionários. Se o método retornar 0 se ambos os dicionários forem iguais, 1 se dic1 > dict2 e -1 se dict1 < dict2.

Exemplo de Python 2

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Exemplo de Python 3

cmp is not supported in Python 3
  • Temos dois nomes de dicionário, “Meninos” e “Meninas”.
  • O que você declarar primeiro no código “cmp(Girls, Boys)” será considerado como dicionário 1. No nosso caso, declaramos “Girls” primeiro, então será considerado como dicionário 1 e meninos como dicionário 2
  • Quando o código é executado, ele imprime -1, indicando que nosso dicionário 1 é menor que o dicionário 2.

Dicionário Str(dict)

Com o método Str(), você pode transformar um dicionário em um formato de string imprimível.

Exemplo de Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Exemplo de Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Use o código% str (Dict)
  • Ele retornará os elementos do dicionário em um formato de string imprimível

Aqui está a lista de todos os métodos de dicionário

Forma Descrição Sintaxe
cópia de() Copie o dicionário inteiro para o novo dicionário dict.copy()
atualizar () Atualize um dicionário adicionando uma nova entrada ou um par de valores-chave a uma entrada existente ou excluindo uma entrada existente. Dict.update([outro])
Itens() Retorna uma lista de pares de tuplas (chaves, valores) no dicionário. dicionário.items()
ordenar() Você pode classificar os elementos dicionário.sort()
len () Fornece o número de pares no dicionário. len(dict)
cmp() Compare os valores e chaves de dois dicionários cmp(dict1, dict2)
Str() Transforme um dicionário em um formato de string imprimível Str(ditado)

Mesclando Dicionários

Aqui entenderemos como mesclar dois dicionários fornecidos em um único dicionário.

Eu tenho dois dicionários como mostrado abaixo:

Dicionário1: meu_dict1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

Dicionário 2: my_dict2

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

Vamos mesclar esses dicionários my_dict1 e my_dict2 e criar um único dicionário com namemy_dict.

Mesclar dois dicionários usando o método update()

O método update() nos ajudará a mesclar um dicionário com outro. No exemplo, atualizaremos my_dict1 com my_dict2. Depois de usar o método update(), my_dict1 terá o conteúdo de my_dict2 conforme mostrado abaixo:

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

Saída:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Mesclando dicionários usando o método ** (do Python 3.5 em diante)

O ** é chamado Kwargs em Python e funcionará com Python versão 3.5+. Usando **, podemos mesclar dois dicionários e retornará o dicionário mesclado. Fazer uso de ** na frente da variável substituirá a variável por todo o seu conteúdo.

Aqui está um exemplo prático de uso de ** para mesclar dois diretórios.

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

Saída:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Teste de adesão ao dicionário

Você pode testar se uma chave está presente dentro de um dicionário ou não. Este teste pode ser realizado apenas na chave de um dicionário e não no valor. O teste de adesão é feito usando o in palavra-chave. Quando você verifica a chave no dicionário usando o in palavra-chave, a expressão retornará verdadeiro se a chave estiver presente e falso se não estiver.

Aqui está um exemplo que mostra o teste de associação em um dicionário.

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Saída:

True
True
False

Resumo

  • Dicionários em uma linguagem de programação são um tipo de estrutura de dados usada para armazenar informações conectadas de alguma forma.
  • O Dicionário Python é definido em dois elementos Chaves e Valores.
  • Os dicionários não armazenam suas informações em nenhuma ordem específica, portanto, você pode não recuperá-las na mesma ordem em que as inseriu.
  • As chaves serão um único elemento
  • Os valores podem ser uma lista ou lista dentro de uma lista, números, etc.
  • Não é permitida mais de uma entrada por chave (nenhuma chave duplicada é permitida)
  • Os valores no dicionário podem ser de qualquer tipo, enquanto as chaves devem ser imutáveis ​​como números, tuplas ou strings.
  • As chaves do dicionário diferenciam maiúsculas de minúsculas - O mesmo nome de chave, mas com casos diferentes, são tratados como chaves diferentes nos dicionários Python.