O [[Linguagem de programação Python|Python]] possui diversas estruturas de dados integradas. Elas se diferenciam principalmente por sua **mutabilidade** e pela forma como lidam com a **ordem** dos elementos. - **Mutável vs. Imutável** - Uma estrutura **mutável** pode ser alterada após a criação. Por exemplo, você pode adicionar ou remover itens de uma `lista`. ```Python minha_lista = [1, 2, 3] minha_lista[0] = 100 # Válido! A lista agora é [100, 2, 3] ``` - Uma estrutura **imutável** não pode ser modificada. Tentar alterar uma `tupla` resultará em um erro. ```Python minha_tupla = (1, 2, 3) minha_tupla[0] = 100 # TypeError! ``` - **Ordenado vs. Não Ordenado** - Uma estrutura **ordenada** mantém a ordem em que os elementos foram inseridos e permite acesso por índice ```Python minha_lista = ['a', 'b', 'c'] print(minha_lista[1]) # Imprime 'b' ``` - Uma estrutura **não ordenada** não garante a ordem dos elementos. `Conjuntos` são um exemplo clássico. # Tabela Resumo | Tipo | Mutável? | Ordenado? | Descrição Breve | | ------------------------------ | ------------------------ | --------- | --------------------------------- | | **String (`str`)** | **Não** | Sim | Sequência imutável de caracteres. | | **[[Listas em Python]]** | **Lista (`list`)]** | Sim | Sim | | **[[Tuplas em Python]]** | **Tupla (`tuple`)]** | Não | Sim | | **[[Conjuntos em Python]]** | **Conjunto (`set`)** | Sim | Não | | **[[Dictionaries in Python]]** | **Dicionário** (`dict`)] | Sim | Sim* | Exportar para Sheets # Pontos de Atenção - **Dicionários:** A ordem de inserção é garantida a partir do **Python 3.7**. Em versões anteriores, eram considerados não ordenados. - **Conjuntos:** O conjunto (`set`) em si é **mutável** (você pode adicionar/remover itens), mas seus elementos devem ser de tipos imutáveis. :: **Referência:** :: [Documentação Python sobre tipos embutidos](https://docs.python.org/3/library/stdtypes.html)