Tecnologia da Informação
easy

Tecnologia da Informação Question #019f69c6

Question Statement
Tecnologia da Informação
#Dicionários
#Mutabilidade
#PF
#Policial
#Estruturas de Dados
#2025
#Cebraspe
#Listas
#Agente
#Python
Easy

(Q78) Em Python, listas são estruturas de dados imutáveis, o que as torna ideais para serem usadas como chaves de dicionários (dict).

A

Certo

B

Errado

Correct

Official Explanation / Community Explanations

A afirmação está incorreta por dois motivos fundamentais que se complementam no funcionamento da linguagem Python:

  1. Listas são Mutáveis: Em Python, as listas (list) são estruturas de dados mutáveis. Isso significa que podemos alterar, adicionar ou remover elementos de uma lista após a sua criação, sem a necessidade de criar um novo objeto na memória.
  2. Requisitos para Chaves de Dicionários: Para que um objeto possa ser utilizado como chave em um dicionário (dict), ele deve ser imutável e hashável (ou seja, possuir um valor de hash que nunca muda durante sua vida útil, implementando o método __hash__). O Python exige isso porque os dicionários utilizam tabelas hash para indexar e buscar valores rapidamente. Se as chaves fossem mutáveis, o seu valor de hash poderia mudar, tornando impossível localizar o valor associado a ela posteriormente.

Se você tentar utilizar uma lista como chave de um dicionário, o Python retornará um erro do tipo:
TypeError: unhashable type: 'list'

Alternativa Correta: Se o objetivo for utilizar uma sequência de elementos como chave de um dicionário, deve-se utilizar uma tupla (tuple), que é uma estrutura de dados imutável em Python.