6: Listas – Compreender e Manipular Coleções Ordenadas

Na tua próxima tarefa na empresa PyTalento, foste encarregado de gerir grupos de dados, como notas de vários estudantes ou a lista de produtos de uma loja. Para facilitar essa tarefa, vais aprender a utilizar listas, uma forma de armazenar e manipular coleções de dados de forma ordenada.

Objetivos

  • Compreender o que são listas em Python.
  • Aprender a criar, modificar e aceder a elementos de listas.
  • Explorar operações úteis para trabalhar com listas.

O que é uma Lista?

Uma lista em Python é uma coleção de elementos que pode armazenar vários valores num único local. Ao contrário das variáveis que armazenam um único valor, uma lista pode armazenar vários valores, chamados "elementos", que são organizados numa ordem específica. As listas são úteis quando precisas de guardar múltiplos itens relacionados, como uma lista de notas ou uma lista de nomes.

Exemplo de Lista:

      
  # Exemplo de uma lista de notas
  notas = [12, 15, 18, 14]
      
    

Neste exemplo, a lista notas armazena quatro números (12, 15, 18 e 14). Cada número é um elemento da lista.

Como Aceder a Elementos numa Lista

Podes aceder a um elemento específico de uma lista utilizando o índice do elemento. Em Python, os índices começam em 0, ou seja, o primeiro elemento tem o índice 0, o segundo elemento tem o índice 1, e assim por diante.

Exemplo de Acesso a Elementos numa Lista:

      
  # Aceder ao primeiro elemento (índice 0)
  primeira_nota = notas[0]
  print("A primeira nota é:", primeira_nota)

  # Aceder ao terceiro elemento (índice 2)
  terceira_nota = notas[2]
  print("A terceira nota é:", terceira_nota)
      
    

Neste exemplo, estamos a aceder ao primeiro e ao terceiro elementos da lista notas. Lembra-te de que o índice começa em 0.

Modificar Elementos de uma Lista

Podes modificar qualquer elemento de uma lista ao atribuir-lhe um novo valor, utilizando o seu índice.

Exemplo de Modificação de uma Lista:

      
  # Modificar a segunda nota (índice 1)
  notas[1] = 17
  print("A nova segunda nota é:", notas[1])
      
    

Aqui, modificamos a segunda nota da lista de notas, substituindo o valor 15 por 17.

Adicionar e Remover Elementos numa Lista

Podes adicionar novos elementos a uma lista ou remover elementos existentes. Python fornece métodos simples para realizar estas operações.

Adicionar um Elemento:

Usa o método append() para adicionar um elemento ao final de uma lista.

      
  # Adicionar uma nova nota à lista
  notas.append(19)
  print("Lista de notas após adicionar uma nova nota:", notas)
      
    

Remover um Elemento:

Usa o método remove() para remover o primeiro elemento da lista que corresponde ao valor fornecido.

      
  # Remover a nota 14 da lista
  notas.remove(14)
  print("Lista de notas após remover a nota 14:", notas)
      
    

Nota que o método remove() apenas remove a primeira ocorrência do valor indicado. Se houver múltiplas ocorrências, precisas de remover cada uma individualmente.

Outras Operações com Listas

Aqui estão algumas operações úteis que podes realizar com listas:

  • len(lista): Retorna o número de elementos na lista.
  • lista.sort(): Ordena os elementos da lista em ordem crescente.
  • lista.reverse(): Inverte a ordem dos elementos na lista.

Exemplo de Operações com Listas:

      
  # Calcular o número de notas na lista
  numero_de_notas = len(notas)
  print("Número de notas:", numero_de_notas)

  # Ordenar a lista de notas
  notas.sort()
  print("Lista de notas ordenadas:", notas)
      
    

Exercício Prático

A empresa PyTalento pediu-te que desenvolvas um programa para gerir uma lista de notas de estudantes. O programa deve permitir ao utilizador adicionar notas, remover notas e calcular a média das notas. O programa deve seguir os seguintes passos:

Requisitos:

  1. Pede ao utilizador para introduzir 5 notas.
  2. Armazena essas notas numa lista.
  3. Calcula a soma e a média das notas.
  4. Pede ao utilizador se quer adicionar ou remover uma nota e atualiza a lista conforme necessário.
  5. Imprime a lista final de notas e a média atualizada.

Exemplo de Código:

      
  # Lista para guardar as notas
  notas = []

  # Pedir ao utilizador para introduzir 5 notas
  for i in range(5):
      nota = float(input("Introduz a nota do estudante: "))
      notas.append(nota)

  # Calcular a soma e a média das notas
  soma = sum(notas)
  media = soma / len(notas)
  print("A média das notas é:", media)

  # Perguntar se o utilizador quer adicionar ou remover uma nota
  acao = input("Queres adicionar ou remover uma nota? (adicionar/remover): ")

  if acao == "adicionar":
      nova_nota = float(input("Introduz a nova nota: "))
      notas.append(nova_nota)
  elif acao == "remover":
      nota_a_remover = float(input("Introduz a nota a remover: "))
      if nota_a_remover in notas:
          notas.remove(nota_a_remover)
      else:
          print("Nota não encontrada na lista.")

  # Imprimir a lista final de notas e a média atualizada
  soma_atualizada = sum(notas)
  media_atualizada = soma_atualizada / len(notas)
  print("A lista final de notas é:", notas)
  print("A média atualizada das notas é:", media_atualizada)
      
    
<< 5: Funções e Criação de C... Índice 7: Estruturas de Dados Av... >>