Dicionário Python: Tudo o que você precisa saber [com exemplos]

Publicados: 2020-04-14

Se você está trabalhando com Python, já deve ter ouvido falar de listas, strings e tuplas. Hoje, vamos falar sobre outro elemento crucial do Python – o dicionário. Depois de terminar de ler este post, você deve ter uma compreensão relativamente boa dos dicionários Python, como criá-los e como usá-los.

Índice

O que é um dicionário Python?

Em Python, um dicionário é uma implementação de uma estrutura de dados geralmente conhecida como array associativo. Ele contém uma coleção desorganizada de valores de dados (por exemplo, um mapa). No entanto, ao contrário de outros tipos de dados que contêm apenas um único valor como elemento, os valores de dados armazenados em um dicionário contêm um par chave:valor. Isso ajuda a otimizar o dicionário. Cada par chave:valor mapeia a chave exclusiva associada ao seu valor.

Em um dicionário Python, as chaves são únicas, mas os valores podem ou não ser – enquanto as chaves devem ser de um tipo de dados imutável (strings, números e tuplas), os valores podem ser de qualquer tipo. Além disso, em um dicionário Python, as chaves diferenciam maiúsculas de minúsculas. Portanto, chaves com o mesmo nome, mas casos diferentes, são tratados de maneira diferente.

Saiba mais sobre: ​​Tipos de dados Python

Dicionário vs. listas

Em Python, dicionários e listas compartilham semelhanças e diferenças. Os traços comuns compartilhados por dicionários e listas incluem:

  • Eles são mutáveis.
  • Eles são dinâmicos.
  • Eles podem aninhar – uma lista pode conter outra lista e um dicionário pode conter outro dicionário. Além disso, uma lista pode conter um dicionário e vice-versa.

A principal diferença entre dicionários e listas é que enquanto os elementos da lista podem ser acessados ​​(com base em sua posição na lista) por meio de indexação, os elementos do dicionário são acessados ​​por meio de chaves.

Dicionário Python – Métodos

Agora, discutiremos alguns dos métodos mais usados ​​nos dicionários Python.

  • copy() – Retorna uma cópia superficial de um dicionário.
  • clear() – Remove todos os itens de um dicionário.
  • type( ) – Retorna o tipo da variável passada.
  • pop( ) – remove e retorna um item de um dicionário após a chave ser fornecida.
  • popitem( ) – Remove e retorna um item arbitrário (chave, valor). Além disso, ele gera KeyError se o dicionário estiver vazio.
  • get( ) – É usado para acessar o valor de uma chave.
  • items( ) – Retorna uma nova visão dos itens do dicionário (chave, valor).
  • str() – Gera uma representação de string imprimível de um dicionário.
  • pop(key[,d]) – Remove o item com chave e retorna seu valor, e caso a chave não seja encontrada, retorna d . No entanto, se d não for fornecido e a chave não for encontrada, ela retornará KeyError .
  • get(key[,d]) – Retorna o valor da chave. Se a chave não existir, ela retornará d (o padrão é None ).
  • fromkeys(seq[, v]) – Retorna um novo dicionário com chaves de seq e o valor é igual a v (o padrão é None ).
  • update([other]) – Atualiza o dicionário com os pares chave/valor de outro substituindo as chaves existentes.

Como criar um dicionário?

Você pode criar um dicionário Python colocando uma lista separada por vírgulas de pares chave-valor entre chaves { }. Dois pontos “:” separa cada chave de seu valor associado:

d = {

<chave>: <valor>,

<chave>: <valor>,

.

.

.

<chave>: <valor>

}

Você também pode usar a função interna dict( ) para criar um dicionário, assim:

#dicionário vazio

meu_dict = {}

# dicionário com chaves inteiras

my_dict = {1: 'maçã', 2: 'bola'}

# dicionário com chaves mistas

my_dict = {'name': 'John', 1: [2, 4, 3]}

# usando dict()

my_dict = dict({1:'maçã', 2:'bola'})

# da sequência tendo cada item como um par

my_dict = dict([(1,'maçã'), (2,'bola')])

Como acessar elementos de um dicionário?

Para acessar um elemento de um dicionário, você deve consultar seu nome de chave. Você pode usar o método get( ) para recuperar o item ou pode mencionar o nome da chave dentro de um colchete [ ]. Se uma chave não for encontrada no dicionário, o método get( ) retornará None em vez de KeyError.

Aqui está um exemplo de um código usado para acessar elementos de um dicionário:

#!/usr/bin/python

dict = {'Nome': 'Zara', 'Idade': 7, 'Classe': 'Primeiro'}

print “dict['Nome']: “, dict['Nome']

print “dict['Idade']: “, dict['Idade']

Como adicionar ou alterar elementos em um dicionário?

Como os dicionários Python são mutáveis, você pode adicionar elementos ou até mesmo alterar os valores dos itens existentes contidos em um dicionário. Os elementos podem ser adicionados a um dicionário de várias maneiras. No entanto, você pode adicionar um valor ao dicionário de uma vez, definindo-o junto com sua chave.

Por exemplo, dict[chave] = 'valor'. Para atualizar um valor existente em um dicionário, você deve usar o método update( ) integrado . Você deve se lembrar que, ao adicionar um valor a um dicionário, se o valor já existir, o valor é atualizado, caso contrário, uma nova chave com o valor é adicionada ao dicionário.

my_dict = {'name':'Jack', 'age': 26}

# valor de atualização

my_dict['idade'] = 27

#Saída: {'age': 27, 'name': 'Jack'}

print(my_dict)

# adicionar Item

my_dict['address'] = 'Centro'

# Saída: {'address': 'Downtown', 'age': 27, 'name': 'Jack'}

print(my_dict)

Como remover ou excluir elementos de um dicionário?

Para remover ou excluir um item de um dicionário, você pode usar o método pop ( ) . Ele removerá o item específico com o ket fornecido e retornará o valor. Você também pode usar o método popitem( ) para excluir e retornar um elemento arbitrário (chave e valor) do dicionário.

Se você quiser deletar todos os itens de uma vez, você pode usar o método clear( ) . Você também pode usar a palavra-chave del para remover itens individuais ou o método del dict ( ) para excluir o próprio dicionário inteiro.

Um exemplo usando o método del dict():

#!/usr/bin/python

dict = {'Nome': 'Zara', 'Idade': 7, 'Classe': 'Primeiro'}

del dict['Nome']; # remove a entrada com a chave 'Nome'

dict.clear(); # remove todas as entradas em dict

del dict ; # exclui o dicionário inteiro

print “dict['Idade']: “, dict['Idade']

print “dict['School']: “, dict['School']

Aprenda também: Salário de Desenvolvedor Python na Índia

Como percorrer um dicionário?

Em um dicionário Python, você pode fazer um loop usando um loop for . Quando você percorre um dicionário, as chaves do dicionário são o valor de retorno.

Um exemplo de loop em um dicionário é:

para x neste edital:

imprimir(x)

Leia: Funções Python mais importantes

Como verificar se uma chave está presente em um dicionário?

Você pode usar a palavra-chave “ in ” para verificar se uma chave específica está presente no dicionário, assim:

este edital = {

“marca”: “Ferrari”,

“modelo”: “Dia”,

“ano”: “1968”

}

se "modelo" neste edital:

print(“Sim, 'modelo' é uma das chaves do dicionário thisdict”)

Como determinar o comprimento de um dicionário?

Você pode definir o tamanho de um dicionário, ou seja, determinar quantos elementos (pares chave:valor) ele terá, usando o método len( ) , assim:

print(len(thisdict))

Como copiar um dicionário?

Você pode copiar um dicionário usando o método copy( ) integrado . No entanto, você não pode copiar um dicionário digitando dict2 = dict1 porque dict2 será apenas uma referência a dict1 .

Aqui está um exemplo usando o método copy() :

este edital = {

“marca”: “Ford”,

“modelo”: “Mustang”,

“ano”: 1964

}

mydict = thisdict.copy()

print(mydict)

Dicionário Python: Compreensão

Em Python, a compreensão de dicionário é uma maneira direta e organizada de criar um novo dicionário a partir de um iterável. Ele consiste em um par de expressões (chave: valor) seguido por uma instrução for dentro de chaves { }. A compreensão do dicionário pode conter várias instruções for ou if .

Aqui está um exemplo para criar um dicionário onde cada item é um par de um número e seu quadrado:

quadrados = {x: x*x para x no intervalo(6)}

# Saída: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

imprimir(quadrados)

Leia mais: Bibliotecas de visualização de dados Python

Empacotando

Basicamente é isso – todo o conhecimento fundamental que você precisa saber sobre o dicionário Python!

Se você está curioso para aprender sobre Python, tudo sobre ciência de dados, confira os cursos de certificação de ciência de dados da upGrad, que são criados para profissionais que trabalham e oferecem mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1-on -1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

Qual é a necessidade de dicionários em Python?

Uma coleção não ordenada de valores de dados é um dicionário Python. Dicionários são necessários em Python para armazenar valores de dados como um mapa. Em todos os outros tipos de dados, eles só podem conter um único valor como elemento. Mas, um dicionário é capaz de conter o par chave:valor. Este par torna o funcionamento do dicionário um pouco mais otimizado.

Para criar um dicionário em Python, você simplesmente precisa colocar os elementos entre chaves separando todos eles com uma 'vírgula'. Os valores no dicionário podem ser repetidos e duplicados, mas você não pode repetir as chaves no dicionário. As chaves em um dicionário diferenciam maiúsculas de minúsculas, portanto, mesmo duas chaves com o mesmo nome, mas com maiúsculas e minúsculas, serão tratadas de maneira diferente.

O que pode ser armazenado em um dicionário Python?

Dicionários são utilizados em Python para recuperar dados com a ajuda de qualquer chave exclusiva. Tudo o que você pode armazenar em uma variável Python pode ser armazenado em um dicionário Python. Você pode até mesmo aninhar um dicionário em outro criando listas. Em contraste, as chaves têm que ser imutáveis.

Você pode recuperar facilmente o valor armazenado chamando a chave que está armazenando o valor específico. Se você fizer alguma alteração na lista retornada, ela também será afetada no dicionário. É preciso entender que os valores armazenados no dicionário e a lista recuperada são apenas os mesmos objetos.

Como a tabela de hash e o dicionário são diferentes?

Uma Hashtable é uma coleção não genérica, enquanto um Dicionário é uma coleção genérica de valores de dados. Você tem permissão para armazenar os pares de valores-chave do mesmo tipo de dados, bem como de tipos de dados diferentes, enquanto só pode armazenar os mesmos pares de valores-chave de tipo de dados em um dicionário.

Como há boxing e unboxing no Hashtable, o processo de recuperação de dados é mais lento em comparação com o Dicionário. Não há ordem mantida em uma Hashtable, mas você sempre verá uma ordem mantida dos valores armazenados em um dicionário.