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