Python - Dicionário

Cada chave é separada de seu valor por dois pontos (:), os itens são separados por vírgulas e tudo está entre colchetes. Um dicionário vazio sem nenhum item é escrito com apenas duas chaves, assim: {}.

As chaves são exclusivas em um dicionário, enquanto os valores podem não ser. Os valores de um dicionário podem ser de qualquer tipo, mas as chaves devem ser de um tipo de dados imutável, como strings, números ou tuplas.

Acessando Valores no Dicionário

Para acessar os elementos do dicionário, você pode usar os familiares colchetes junto com a chave para obter seu valor. A seguir está um exemplo simples -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']

Quando o código acima é executado, ele produz o seguinte resultado -

dict['Name']:  Zara
dict['Age']:  7

Se tentarmos acessar um item de dados com uma chave, que não faz parte do dicionário, obteremos um erro da seguinte forma -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']

Quando o código acima é executado, ele produz o seguinte resultado -

dict['Alice']:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

Atualizando Dicionário

Você pode atualizar um dicionário adicionando uma nova entrada ou um par de valores-chave, modificando uma entrada existente ou excluindo uma entrada existente, conforme mostrado abaixo no exemplo simples -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Quando o código acima é executado, ele produz o seguinte resultado -

dict['Age']:  8
dict['School']:  DPS School

Excluir Elementos do Dicionário

Você pode remover elementos individuais do dicionário ou limpar todo o conteúdo de um dicionário. Você também pode excluir o dicionário inteiro em uma única operação.

Para remover explicitamente um dicionário inteiro, basta usar o deldeclaração. A seguir está um exemplo simples -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear();     # remove all entries in dict
del dict ;        # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Isso produz o seguinte resultado. Observe que uma exceção é levantada porque apósdel dict dicionário não existe mais -

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Note - O método del () é discutido na seção subsequente.

Propriedades das chaves do dicionário

Os valores do dicionário não têm restrições. Eles podem ser qualquer objeto Python arbitrário, tanto objetos padrão quanto objetos definidos pelo usuário. No entanto, o mesmo não é verdade para as chaves.

Existem dois pontos importantes a serem lembrados sobre as chaves do dicionário -

(a)Mais de uma entrada por chave não permitida. O que significa que nenhuma chave duplicada é permitida. Quando chaves duplicadas são encontradas durante a atribuição, a última atribuição vence. Por exemplo -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']

Quando o código acima é executado, ele produz o seguinte resultado -

dict['Name']:  Manni

(b)As chaves devem ser imutáveis. O que significa que você pode usar strings, números ou tuplas como chaves de dicionário, mas algo como ['chave'] não é permitido. A seguir está um exemplo simples -

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']

Quando o código acima é executado, ele produz o seguinte resultado -

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {['Name']: 'Zara', 'Age': 7};
TypeError: unhashable type: 'list'

Funções e métodos de dicionário integrados

Python inclui as seguintes funções de dicionário -

Sr. Não. Função com Descrição
1 cmp (dict1, dict2)

Compara elementos de ambos os dict.

2 len (dict)

Fornece o comprimento total do dicionário. Isso seria igual ao número de itens no dicionário.

3 str (dict)

Produz uma representação de string para impressão de um dicionário

4 tipo (variável)

Retorna o tipo da variável passada. Se a variável passada for um dicionário, ela retornará um tipo de dicionário.

Python inclui os seguintes métodos de dicionário -

Sr. Não. Métodos com Descrição
1 dict.clear ()

Remove todos os elementos do dicionário dict

2 dict.copy ()

Retorna uma cópia superficial do dicionário dict

3 dict.fromkeys ()

Crie um novo dicionário com as chaves de seq e os valores definidos como valor .

4 dict.get (chave, padrão = Nenhum)

Para a chave da chave, retorna o valor ou padrão se a chave não estiver no dicionário

5 dict.has_key (chave)

Retorna verdadeiro se a chave no dicionário dict , falso caso contrário

6 dict.items ()

Retorna uma lista de pares de tupla de dict (chave, valor)

7 dict.keys ()

Retorna a lista das chaves do dicionário

8 dict.setdefault (chave, padrão = Nenhum)

Semelhante a get (), mas irá definir dict [key] = default se a chave ainda não estiver em dict

9 dict.update (dict2)

Adiciona pares de valores-chave do dicionário dict2 a dict

10 dict.values ​​()

Retorna a lista de dicionário dict valores 's