Junior
Quais características devem ser consideradas ao usar números como chaves?
sobes.tech IA
Resposta da IA
Ao usar números como chaves em dicionários Python, deve ter em conta o seguinte:
- Imutáveis: Os tipos numéricos (
int,float,complex) são imutáveis, o que os torna adequados para uso como chaves de dicionário. O valor de hash do número é estável e não muda durante a vida do objeto. - Hashing: Python usa hashing para acesso rápido aos elementos do dicionário através da chave. Os números têm algoritmos de hashing eficientes.
- Tipos de números: Embora
intefloatpossam ser chaves,complextambém pode ser, mas o seu uso como chave é menos comum. - Comparação: Ao comparar chaves numéricas, considera-se o seu valor. Por exemplo,
1(int) e1.0(float) podem ser considerados chaves diferentes devido ao seu tipo, mesmo que o seu valor numérico seja igual. No entanto, ao procurar uma chave, Python não converte automaticamente os tipos. A chave'1'(string) é diferente de1(número).
Exemplo:
# int e float como chaves
my_dict = {1: 'um inteiro', 1.0: 'um float', 2: 'dois inteiros'}
# Acesso por chave
print(my_dict[1])
print(my_dict[1.0])
# print(my_dict['1']) # Erro: KeyError