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 chave-valor. Cada par de chave-valor no dicionário mapeia a chave para seu valor associado, tornando-o mais otimizado. Um dicionário em python é declarado ao incluir uma lista separada por vírgulas de pares de chave-valor usando chaves ({}). Python O dicionário é 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 Python Dicionário

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

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

Sintaxe para Python Dicionário

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 em Python dicionários.

Python 2 Exemplo

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

Python 3 Exemplo

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.

Python Métodos de Dicionário

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”.

Python 2 Exemplo

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

Python 3 Exemplo

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.

Python 2 Exemplo

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

Python 3 Exemplo

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

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

Python 2 Exemplo

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

Python 3 Exemplo

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.

Python 2 Exemplo

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

Python 3 Exemplo

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.

Python 2 Exemplo

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


Python 3 Exemplo

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.

Python 2 Exemplo

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

Python 3 Exemplo

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

Python Funções integradas do dicionário

Método len() do dicionário

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

Por exemplo, nos

Python 2 Exemplo

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

Python 3 Exemplo

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 requer declaração explícita do 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).”

Python 2 Exemplo

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

Python 3 Exemplo

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

Python Listar método cmp()

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.

Python 2 Exemplo

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

Python 3 Exemplo

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.

Python 2 Exemplo

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

Python 3 Exemplo

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 ** (De 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.
  • Python O dicionário é 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 em Python dicionários.

Resuma esta postagem com: