• Definição: Coleção ordenada, mutável (elementos podem ser alterados, adicionados ou removidos) e que permite elementos duplicados. É a estrutura de dados mais versátil e comumente usada.

  • Quando usar:

    • Quando a ordem dos itens é importante.
    • Quando os itens precisam ser modificados (adicionados, removidos, alterados).
    • Quando você precisa de uma sequência flexível de elementos.
  • Principais Métodos/Operações (revisão e aprofundamento):

    • Criação: minha_lista = [] ou minha_lista = [1, 2, "três"]
    • Acesso: minha_lista[indice], minha_lista[inicio:fim] (slicing)
    • Adicionar:
      • append(item): Adiciona item ao final.
      • insert(indice, item): Insere item na posição indice.
      • extend(outra_lista): Adiciona todos os elementos de outra_lista ao final.
    • Remover:
      • remove(valor): Remove a primeira ocorrência de valor. Gera erro se o valor não existe.
      • pop(indice): Remove e retorna o item no indice (ou o último, se o índice for omitido).
      • del minha_lista[indice] ou del minha_lista[inicio:fim]: Remove por índice ou fatia.
      • clear(): Remove todos os elementos da lista.
    • Outros:
      • len(minha_lista): Retorna o número de elementos.
      • min(minha_lista), max(minha_lista), sum(minha_lista): Para listas de números.
      • index(valor): Retorna o índice da primeira ocorrência de valor.
      • count(valor): Retorna o número de vezes que valor aparece.
      • sort(): Ordena a lista no local.
      • sorted(minha_lista): Retorna uma nova lista ordenada.
      • reverse(): Inverte a lista no local.
    frutas = ["maçã", "banana", "laranja", "banana"]
    print(f"Lista original: {frutas}") # Saída: ['maçã', 'banana', 'laranja', 'banana']
    
    frutas.append("uva")
    print(f"Após append: {frutas}") # Saída: ['maçã', 'banana', 'laranja', 'banana', 'uva']
    
    frutas.insert(1, "abacaxi")
    print(f"Após insert: {frutas}") # Saída: ['maçã', 'abacaxi', 'banana', 'laranja', 'banana', 'uva']
    
    frutas.remove("banana") # Remove a primeira banana
    print(f"Após remove 'banana': {frutas}") # Saída: ['maçã', 'abacaxi', 'laranja', 'banana', 'uva']
    
    ultimo = frutas.pop()
    print(f"Após pop: {frutas}, Item removido: {ultimo}") # Saída: ['maçã', 'abacaxi', 'laranja', 'banana'], Item removido: uva
    
    frutas.sort()
    print(f"Após sort: {frutas}") # Saída: ['abacaxi', 'banana', 'laranja', 'maçã']