Pular para o conteúdo principal

Questão de Programação — Python — FGV 2024

ProgramaçãoPython
Código
fg097439
Banca
FGV
Órgão
TCE-PA
Ano
2024
Nível
Superior
Cargo
Auditor de Controle Externo - Área de Informática - Administrador de Banco de Dados
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
  1. AI, apenas.
  2. BII, apenas.
  3. CI e II, apenas.
  4. DII e III, apenas.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoC — I e II, apenas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Estruturas de dados em Python: set, dict e list

Gabarito: letra C — apenas as afirmativas I e II estão corretas. Para usar um objeto como chave de dicionário, ele precisa ser hashable (imutável). set é mutável, portanto não serve. Além disso, set não aceita elementos repetidos por definição. Já o construtor list() aceita qualquer iterável, inclusive strings, sem erro.

Afirmativa

Conteúdo

Correção

I

Tentativa de usar set como chave de dict retorna erro

✅ Correto

II

set não permite elementos repetidos

✅ Correto

III

Construtor list() retorna erro ao receber string

❌ Incorreto

Chave de dict
  • 1Hashable (imutável)
    • int, str, tuple
  • 2Unhashable (mutável)
    • list, set, dict
  • 3Set
    • Elementos únicos
    • Elementos repetidos ignorados
  • 4Construtor list()
    • Aceita qualquer iterável
      • string → lista de caracteres
LEVEL · soulevel.com.br

Item I — ✅ Correto

Chaves de dicionário devem ser objetos hashables (que implementam __hash__ e __eq__ de forma imutável). Conjuntos (set) são mutáveis — você pode adicionar ou remover elementos —, portanto não são hashables. Tentar usar um set como chave gera TypeError: unhashable type: 'set'.

Item II — ✅ Correto

Um set é uma coleção não ordenada de elementos únicos. A própria documentação do Python afirma que “a set object is an unordered collection of distinct hashable objects”. Elementos repetidos são ignorados na criação ou inserção.

Item III — ❌ Incorreto

O construtor list([iterable]) aceita qualquer iterável como argumento. Uma string é um iterável de caracteres. Portanto, list('abc') retorna ['a', 'b', 'c'] sem erro. Não há restrição que impeça isso.

Conclusão: Corretos apenas os itens I e II → alternativa C.

PEGA ESSA DICA!

Para saber se um objeto pode ser chave de dicionário, pergunte: ele é imutável? Se sim (int, string, tuple), pode; se não (list, set, dict), não pode.

Link permanente: /questoes/fg097439