Jump to content

Archived

This topic is now archived and is closed to further replies.

jknet

Pq nao ta removendo comecando do menor ate o fim da lista ?

Recommended Posts

Estou tentando remover todos os elementos dessa lista, mas so remove uma vez e nao entra mais no loop, nao sei pq

aparece este erro:

 

lista1.remove(menor)
ValueError: list.remove(x): x not in list
>>>

 

lista1 = [4,6,3,2,5,1];

menor = lista1[0]

v = 4
while v >=0:

for i in range(len(lista1)):
if(lista1 < menor):
menor = lista1;# 3,2

lista1.remove(menor)

v = v -1

print(lista1)

Share this post


Link to post
Share on other sites

Preste atenção no que o algoritmo está fazendo...

No início, menor=4. Na terceira iteração do for, 3 < 4 e menor=3. Na quarta iteração, 2 < 3 e menor=2. Na última iteração, menor=1 e lista1=[4,6,3,2,5].

 

Na segunda iteração do while (v=3) não há nenhum número menor que 1, então a variável menor não é atualizada. Como o valor 1 já foi removido e não está duplicado, é lançada uma exceção.

 

Se vc quer limpar a lista inteira:

 

 

lista1 = [4,6,3,2,5,1]
list.clear(lista1)

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.