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


_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a