Sobes.tech
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 int e float possam ser chaves, complex també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) e 1.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 de 1 (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