Questão nº 71
Questão de Tecnologia da Informação · FGV TCE-PA 2024 (nº 71)
Com relação aos tipos estruturados da linguagem de programação Python 3, avalie as afirmativas a seguir:
I. A tentativa de utilizar conjunto (set) como chave de um dicionário (dict) retorna erro.
II. O conjunto (set) não permite elementos repetidos.
III. O construtor do tipo list retorna erro ao receber uma string como argumento (entrada).
Está correto o que se afirma em
- AI, apenas.
- BII, apenas.
- CI e II, apenas. (alternativa correta)
- DII e III, apenas.
- EI, II e III.
Resposta comentada
Gabarito Alternativa C
Em Python, a capacidade de um objeto ser usado como chave de dicionário ou elemento de conjunto depende se ele é hashable (imutável e tem um valor de hash fixo) ou não. Tipos mutáveis (que podem ser alterados após a criação) geralmente não são hashable.
- (A) Incorreta: A alternativa A afirma que apenas a I está correta, mas a II também está correta.
- (B) Incorreta: A alternativa B afirma que apenas a II está correta, mas a I também está correta.
- (C) Correta:
- I. A tentativa de utilizar conjunto (set) como chave de um dicionário (dict) retorna erro. Correto. Chaves de dicionário devem ser objetos hashable (imutáveis). Conjuntos (
set) são mutáveis (podem ter elementos adicionados ou removidos) e, portanto, não são hashable. Usar umsetcomo chave dedictresulta emTypeError. - II. O conjunto (set) não permite elementos repetidos. Correto. A definição fundamental de um
seté ser uma coleção não ordenada de elementos únicos. Se você tentar adicionar um elemento que já existe, ele será ignorado.
- I. A tentativa de utilizar conjunto (set) como chave de um dicionário (dict) retorna erro. Correto. Chaves de dicionário devem ser objetos hashable (imutáveis). Conjuntos (
- (D) Incorreta: A alternativa D afirma que a II e a III estão corretas. A III está incorreta.
- (E) Incorreta: A alternativa E afirma que todas as três estão corretas. A III está incorreta. A armadilha aqui é a afirmação III. O construtor
list()aceita qualquer iterável (como uma string, que é uma sequência de caracteres) e cria uma lista com os elementos desse iterável, sem gerar erro. Por exemplo,list("Python")resulta em['P', 'y', 't', 'h', 'o', 'n'].
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Informática - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.