FC ConcursosFC Concursos

Questão FC670842

A respeito da lógica de programação, das linguagens de programação Python e da ferramenta Node.js, julgue o item a seguir. Em Python, ao criar um dicionário com dict.fromkeys(['a',

Sem classificação

QUADRIX · 2025

A respeito da lógica de programação, das linguagens de programação Python e da ferramenta Node.js, julgue o item a seguir.

 

Em Python, ao criar um dicionário com dict.fromkeys(['a','b','c'], []), todas as chaves compartilham a mesma lista, de forma que alterações em uma chave afetam as demais.

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A afirmação é CERTA porque dict.fromkeys recebe um segundo argumento que é atribuído por referência a todas as chaves. Em dict.fromkeys(['a','b','c'], []) a expressão \([]\) é avaliada uma vez e o mesmo objeto lista é referenciado para as três chaves.

Isso significa que operações mutáveis, como append, afetam todas as chaves: ao executar d['a'].append(1), os valores de d['b'] e d['c'] também passam a conter 1, porque apontam para o mesmo objeto.

Para evitar esse compartilhamento quando se quer listas independentes, use compreensão de dicionário, por exemplo: {k: [] for k in keys}, que cria uma nova lista para cada chave.

Observação: com valores imutáveis (None, números, strings) não há problema prático de mutação compartilhada, pois não é possível alterar o objeto in-place.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo