[Python] eliminare spazi da lista

Giovanni Porcari giovanni.porcari a softwell.it
Sab 18 Nov 2006 16:13:24 CET


Il giorno 18/nov/06, alle ore 15:42, Sandro Dentella ha scritto:

>>           salve community di python, devo eliminare degli spazi da  
>> una lista.
>>           la lista fino a 9 ha spazi e poi no
>>           c=['1',' ','2',' ',3,' ','4',' ','5',' ','6',' ','7','  
>> ','8','
>>           ','9','10','11','12','13']
>>
>>      c = [x for x in c if not x == ' ']
>>      oppore, forse meglio:
>>      for i in range(9):
>>          if c[i] == ' ':
>>              del c[i]
>>
>>    Mi piace di più la prina forma ma suggerirei a Danieli di  
>> provarla anche
>>    sulle lettere... non si sa mai:
>>    c=['R',' ','T',' ','F',' ','M']
>
>   Le due forme sopra fanno cose diverse. La prima forma crea una nuova
>   lista, è più concisa e va bene se la lista è piccola.
>
>   La seconda forma non crea una nuova lista, siccome l'OT aveva  
> detto che
>   potevano esserci spazi solo nei primi 9 elementi e non ha detto  
> se la
>   lista era eventualmente anche lunga ho suggerito la seconda  
> versione.
>
>   Provarla con lettere invece che numeri non serve a nulla. '1' è una
>   stringa al pari di 'A' ed in ogni caso se anche avesse scelto 1  
> (non '1')
>   è il test x == ' ' che importa, cosa aggiunge il test con stringhe?
>
>   sandro
>   *:-)
>

Sandro...era per scherzare...
Prova ad usare la prima forma (la seconda darebbe errore perchè sono  
meno di 9 elementi) sull'esempio proposto.
Poi, se non riconosci il risultato, cercalo in wikipedia :D

http://it.wikipedia.org/wiki/RTFM




Maggiori informazioni sulla lista Python