Sobes.tech
Junior

Que objetos podem ser colocados em um conjunto em Python?

sobes.tech IA

Resposta da IA

Num conjunto (set) em Python, podem colocar objetos imutáveis (hasháveis).

Estes incluem:

  • Números (inteiros, de ponto flutuante, complexos)
  • Strings
  • Tuples (desde que todos os seus elementos também sejam imutáveis)
  • Frozenset (versão imutável de set)

Objetos que não podem ser colocados num conjunto:

  • Listas (list)
  • Conjuntos (set) - mas pode usar frozenset
  • Dicionários (dict)

Exemplo:

# Objetos imutáveis que podem ser colocados num conjunto
valid_set = {1, "maçã", (1, 2), frozenset({3, 4})}

# Objetos mutáveis que não podem ser colocados num conjunto
# invalid_set = {[1, 2], {3, 4}, {"a": 1}} # Vai gerar um TypeError ao tentar criar

Hashing é o processo de calcular um valor fixo (hash) para um objeto. Para que um objeto seja hashable, ele deve possuir o método __hash__() e o seu valor de hash não deve mudar durante o seu ciclo de vida. Objetos imutáveis em Python, por sua natureza, são hashables.