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.