Questão nº 63
Questão de Tecnologia da Informação · FGV TCE-PA 2024 (nº 63)
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, tipos estruturados são coleções de dados que permitem organizar e armazenar múltiplos valores, como listas, tuplas, dicionários e conjuntos, cada um com suas regras específicas de uso.
- (A) Incorreta: A afirmativa I está correta, mas a afirmativa II também está, então esta alternativa não é completa.
- (B) Incorreta: A afirmativa II está correta, mas a afirmativa I também está, então esta alternativa não é completa.
- (C) Correta: As afirmativas I e II estão corretas.
- I. A tentativa de utilizar conjunto (set) como chave de um dicionário (dict) retorna erro. Dicionários em Python exigem que suas chaves sejam imutáveis e hashable (capazes de gerar um valor hash único para identificação rápida). Conjuntos (
set) são mutáveis (podem ter elementos adicionados ou removidos) e, portanto, não são hashable, resultando em umTypeErrorse usados como chave. - II. O conjunto (set) não permite elementos repetidos. A principal característica de um
seté que ele armazena apenas elementos únicos. Se você tentar adicionar um elemento que já existe, o conjunto simplesmente o ignora e permanece inalterado, garantindo a unicidade.
- I. A tentativa de utilizar conjunto (set) como chave de um dicionário (dict) retorna erro. Dicionários em Python exigem que suas chaves sejam imutáveis e hashable (capazes de gerar um valor hash único para identificação rápida). Conjuntos (
- (D) Incorreta: A afirmativa II está correta, mas a afirmativa III está incorreta.
- (E) Incorreta: A afirmativa III está incorreta. A armadilha aqui é pensar que
list()só aceita sequências de itens já separados. Na verdade, o construtorlist()aceita qualquer iterável (como uma string, que é uma sequência de caracteres) e cria uma lista onde cada elemento do iterável se torna um item da lista. Por exemplo,list("Python")resulta em['P', 'y', 't', 'h', 'o', 'n'], sem erro.
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Informática - Administrador de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.