• Python
  • 07. Armazenamento de múltiplos dados em listas

Operações em listas#

Quando usamos listas em Python é comum precisarmos realizar operações sobre seus elementos. Por exemplo, podemos querer verificar se um determinado valor está presente nela, adicionar ou remover um elemento em uma posição específica.

Algumas dessas operações são tão comuns que já estão disponíveis na linguagem. Entretanto, é importante que você saiba como implementá-las. O objetivo deste exercício é justamente implementar algumas dessas operações. Por esse motivo, o uso das seguintes funções é proibido:

  • list.remove
  • list.count
  • list.index
  • list.insert
  • list.pop
  • list.extend
  • list.sort
  • list.reverse
  • max
  • min
  • sum
  • reversed
  • set
  • zip
  • in (não é uma função, mas sim um operador: x in list)

Exercícios#

  1. Implemente no arquivo solution.py uma função chamada remove_elemento, que recebe uma lista e um índice e devolve uma nova lista com todos os elementos com exceção do elemento que estava no índice indicado.

Por exemplo, se a lista for [1, 2, 3, 4, 5] e o índice for 2, a função deve devolver [1, 2, 4, 5].

  1. Implemente no arquivo solution.py uma função chamada remove_ocorrencias, que recebe uma lista e um valor e devolve uma nova lista com todos os elementos com exceção do elemento recebido como argumento.

    Por exemplo, se a lista for [1, 2, 3, 4, 3, 5] e o valor for 3, a função deve devolver [1, 2, 4, 5].

  2. Implemente no arquivo solution.py uma função chamada pertence, que recebe uma lista e um valor e devolve True se o valor estiver presente na lista e False caso contrário.

    Por exemplo, se a lista for [1, 2, 3, 4, 5] e o valor for 3, a função deve devolver True.

  3. Implemente no arquivo solution.py uma função chamada conta_elemento, que recebe uma lista e um valor e devolve a quantidade de vezes que o valor aparece na lista.

    Por exemplo, se a lista for [1, 2, 3, 4, 3, 5] e o valor for 3, a função deve devolver 2.

  4. Implemente no arquivo solution.py uma função chamada maior_elemento, que recebe uma lista e devolve o maior elemento presente nela.

    Por exemplo, se a lista for [1, 2, 3, 5, 4, 3, 2], a função deve devolver 5.

  5. Implemente no arquivo solution.py uma função chamada menor_elemento, que recebe uma lista e devolve o menor elemento presente nela.

    Por exemplo, se a lista for [5, 2, 3, 1, 4, 3, 2], a função deve devolver 1.

  6. Implemente no arquivo solution.py uma função chamada soma_elementos, que recebe uma lista e devolve a soma de todos os elementos presentes nela.

    Por exemplo, se a lista for [1, 2, 3, 4, 5], a função deve devolver 15.

  7. Implemente no arquivo solution.py uma função chamada insere_na_posicao, que recebe uma lista, um valor e um índice e devolve uma nova lista com o valor inserido na posição indicada.

    Por exemplo, se a lista for [1, 2, 3, 4, 5], o valor for 10 e o índice for 2, a função deve devolver [1, 2, 10, 3, 4, 5].

  8. Implemente no arquivo solution.py uma função chamada inverte_lista, que recebe uma lista e devolve uma nova lista com os elementos na ordem inversa.

    Por exemplo, se a lista for [1, 2, 3, 4, 5], a função deve devolver [5, 4, 3, 2, 1].

  9. Implemente no arquivo solution.py uma função chamada remove_repetidos, que recebe uma lista e devolve uma nova lista com os elementos sem repetição.

    Por exemplo, se a lista for [1, 5, 2, 3, 4, 3, 5], a função deve devolver [1, 5, 2, 3, 4]. Note que a ordem dos elementos na lista resultante deve ser a mesma da lista original. Em caso de repetição, mantenha a primeira ocorrência do elemento.

  10. Implemente no arquivo solution.py uma função chamada intercala_listas, que recebe duas listas e devolve uma nova lista com os elementos intercalados das duas listas. Caso uma lista seja maior que a outra, os elementos excedentes devem ser adicionados ao final da lista resultante.

    Por exemplo, se a primeira lista for [1, 2, 3] e a segunda lista for [4, 5, 6], a função deve devolver [1, 4, 2, 5, 3, 6]. Se a primeira lista for [1, 2, 3, 4] e a segunda lista for [5, 6], a função deve devolver [1, 5, 2, 6, 3, 4].

  11. Implemente no arquivo solution.py uma função chamada fatiamento, que recebe uma lista e três números, inicio, fim e passo, e devolve uma nova lista com os elementos da lista original no intervalo [inicio, fim), ou seja incluindo o elemento no índice inicio e excluindo o elemento no índice fim, com um passo entre os elementos.

    Por exemplo, se a lista for [1, 2, 3, 4, 5, 6, 7, 8, 9], o inicio for 1, o fim for 8 e o passo for 2, a função deve devolver [2, 4, 6, 8].