• Matéria: Informática
  • Autor: lucas27484
  • Perguntado 4 anos atrás

PYTHON

Defina a função remove_duplicatas, que recebe uma lista e retorna uma nova lista com os mesmos elementos e na mesma ordem, mas sem valores duplicados.

Entrada:

Não há entrada. O parâmetro da função é uma lista de números.

Saída:

A função deve retornar uma lista sem elementos duplicados.

Anexos:

Respostas

respondido por: GeBEfte
4

À primeira vista, poderia-se pensar na utilização um set auxiliar para guardar os elementos da lista "ignorando" as repetições, no entanto o exercício pede que a ordem dos elementos não deve ser alterada e, atualmente no python (3.8), os set's não preservam a ordem de inserção.

Sendo assim, fugindo de qualquer biblioteca auxiliar, vamos criar uma função simples que dê conta do que é solicitado.

Como sabemos, diferente de set's, as listas no python mantêm a ordem de inserção dos seus elementos e, portanto, utilizando uma lista auxiliar, só precisaremos alimentar essa nova lista com os elementos da lista original garantindo que elementos repetidos não sejam adicionados.

O programa a seguir apresenta uma das possibilidades de solução do problema utilizando um laço for para percorrer a lista original e um condicional (if) para verificar se o elemento é repetido.

[Python 3.8]

\sf de f~ remove\underline{~}duplicatas(lst):\\~~~~aux~=~list()\\~~~~for~ i~ in~ lst:\\~~~~~~~~if~ i~ not~ in~ aux:\\~~~~~~~~~~~~aux.append(i)\\~~~~return~ aux

\Huge{\begin{array}{c}\Delta \tt{\!\!\!\!\!\!\,\,o}\!\!\!\!\!\!\!\!\:\,\perp\end{array}}Qualquer~d\acute{u}vida,~deixe~ um~coment\acute{a}rio

respondido por: edivanioaurino
0

Resposta:

À primeira vista, poderia-se pensar na utilização um set auxiliar para guardar os elementos da lista "ignorando" as repetições, no entanto o exercício pede que a ordem dos elementos não deve ser alterada e, atualmente no python (3.8), os set's não preservam a ordem de inserção.

Sendo assim, fugindo de qualquer biblioteca auxiliar, vamos criar uma função simples que dê conta do que é solicitado.

Como sabemos, diferente de set's, as listas no python mantêm a ordem de inserção dos seus elementos e, portanto, utilizando uma lista auxiliar, só precisaremos alimentar essa nova lista com os elementos da lista original garantindo que elementos repetidos não sejam adicionados.

O programa a seguir apresenta uma das possibilidades de solução do problema utilizando um laço for para percorrer a lista original e um condicional (if) para verificar se o elemento é repetido.

[Python 3.8]

Explicação:

Perguntas similares