O Python oferece muitas estruturas de dados internas, como listas, tuplas e dicionários, para salvar e gerenciar dados com eficiência. Os dicionários fornecem uma maneira fácil de salvar dados como pares de valor-chave. Um chave atua como um índice e é usado para recuperar dados. As chaves devem ser únicas e imutáveis em todo o dicionário. As chaves são principalmente cordas e números inteiros, embora o valor de uma chave possa ser de qualquer tipo, como um número inteiro, string, número de ponto flutuante ou número complexo. Enquanto isso, um dicionário pode conter uma coleção, como uma lista, tupla ou algum outro tipo de dicionário. Um dicionário em Python é criado usando um par de colchetes encaracolados, no qual cada par de valores-chave é separado por uma vírgula.
E se você tentar acessar ou modificar uma chave específica em um dicionário que não existe? Bem, neste caso, o intérprete Python aumentará o erro "KeyError" e encerrará a execução do programa.
Vejamos um exemplo do erro "KeyError".
#Criar um dicionárioSaída
Para lidar com esse erro, o Python fornece o tipo DefaultDict, uma classe de dicionário que pode ser encontrada no módulo de coleções. Este artigo cobre o Python DefaultDict em detalhes.
Explicação e exemplos de DefaultDict
O DefaultDict é a alternativa do Dicionário Python. Retorna objetos do tipo dicionário. O DefaultDict é uma subclasse do dicto. No caso de uma chave ausente, em vez de aumentar um erro de "KeyError", o valor padrão é fornecido para a chave inexistente. A sintaxe do DefaultDict é a seguinte:
defaultDict (default_factory)A função DefaultDict toma o parâmetro default_factory como um argumento. A função Default_Factory retorna o valor padrão para o DefaultDict definido. Se tentarmos acessar ou modificar uma chave que está faltando, a função Default_Factory retorna o valor padrão como resultado. Se a função Default_Factory estiver ausente, o DefaultDic aumentará um erro "KeyError" se houver alguma chaves ausentes.
Primeiro, implementaremos um DefaultDic em nosso script Python para acessar as teclas existentes e ausentes.
#import o defaultDict do módulo de coleçãoSaída
O [4] é a chave que falta. Portanto, em vez de aumentar um erro de "KeyError", ele chama a função Default_Factory, que retorna o valor padrão.
Uma função lambda, conhecida como função anônima, também pode ser usada como o parâmetro default_factory.
Em seguida, implementaremos uma função lambda e a passaremos como um argumento para o padrão.
#import o defaultDict do módulo de coleçãoO DefaultDict chama o Default_Factory para fornecer o valor padrão, mas a função __missing () __ fornece o valor padrão. A função __missing () __ é uma função interna no Python que leva o parâmetro default_factory como um argumento. Se o parâmetro default_factory não estiver definido, a função __missing () __ levanta o erro "KeyError".
Aqui, usaremos a função __missing () __ em nosso script python.
#import o defaultDict do módulo de coleçãoSaída
A lista e as classes int também podem ser usadas como parâmetros default_factory com defaultDict.
Lista como Parâmetro Default_factory
O DefaultDict é criado com os valores da lista quando a classe de lista é aprovada em um parâmetro default_factory.
#import o defaultDict do módulo de coleçãoSaída
A saída mostra os valores na lista. Como você pode ver, um padrão que contém a chave e os valores foi criado.
Inteiros como parâmetro default_factory
Se aprovarmos a classe int como um parâmetro default_factory, podemos criar um defaultDict que contém apenas números inteiros. Vamos criar uma lista de números inteiros e depois salvá -lo no padrão.
#import o defaultDict do módulo de coleçãoSaída
Na saída fornecida, os valores inteiros antes do cólon (:) são chaves, enquanto os valores inteiros após o cólon são valores.
Conclusão
O Dafualtdict é uma classe de dicionário presente no módulo de coleções. Funciona como um dicionário de python, mas não levanta um "terror de key" quando uma chave não é encontrada. Este artigo explica o padrão em detalhes com vários exemplos.