Sobes.tech
Junior

Quais podem ser as chaves nos dicionários em Python?

sobes.tech IA

Resposta da IA

As chaves nos dicionários Python podem ser qualquer objeto imutável (hashable).

Os tipos de dados imutáveis incluem:

  • Números inteiros (int)
  • Números de ponto flutuante (float)
  • Strings (str)
  • Tuples (tuple) contendo apenas elementos imutáveis
  • Valores booleanos (bool)
  • NoneType (None)
  • Frozenset (frozenset) contendo apenas elementos imutáveis

Exemplos de chaves permitidas:

# Chaves permitidas
meu_dict = {
    1: "um",
    3.14: "pi",
    "chave": "valor",
    (1, 2): "tupla",
    True: "verdadeiro",
    None: "nenhum",
    frozenset({1, 2}): "conjunto imutável"
}

Objetos imutáveis possuem um hash que é usado para buscas rápidas no dicionário.

Tipos de dados mutáveis, como listas (list), conjuntos (set) e outros dicionários (dict), não podem ser usados como chaves, pois seu conteúdo pode mudar, o que quebraria a integridade do hash.

Exemplos de chaves não permitidas:

# Chaves não permitidas (gerará TypeError)
# meu_dict = {
#     [1, 2]: "lista",
#     {1, 2}: "conjunto",
#     {"a": 1}: "outro dicionário"
# }