Re: [Python-es] Borrar elementos de una lista por índices

Arnau Sanchez arnau en ehas.org
Dom Jul 2 23:02:59 CEST 2006


Chema Cortes escribió:

> El 2006/7/2, Alexis Roda Villalonga <alexis.roda.villalonga en gmail.com> 
> escribió:
> 
>> Para que la corrección funcione 'aborrar' debe estar ordenado
>> crecientemente. Si lo ordenas decrecientemente (borras de derecha a
>> izquierda) no necesitas la corrección:
>>
>> aborrar.sort(lambda a,b : cmp(b, a))
>> for i in aborrar :
>>    del lista[i]
> 
> Mejor decirle al sort que ordene al revés:
> 
>  aborrar.sort(reverse=True)
> 
> 
> Aunque si no quieres tocar la lista, la mejor manera sería con la
> nueva función sorted()
> 
> for i in sorted(aborrar,reverse=True):
>  del lista[i]

Muchas gracias a los dos, la solución de ordenar al revés la lista de 
índices era la que buscaba, sabía que se me escabapa algo.

Ahora que lo pienso, aunque juraría que esta solución ya la había visto 
(y olvidado acto seguido) en alguna página, no he sido capaz de volver a 
encontrar en google referencias al respecto. Así pues, al menos queda 
esto para los archivos.

Como siempre, un placer estar en esta lista.

salud




Más información sobre la lista de distribución Python-es