[Python] eliminare spazi da lista

2006-11-18 Per discussione gheremedin.daniele
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']

come meglio mi consigliate di farlo

Distinti saluti
Daniele Gheremedin

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


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Eriol
Alle 14:12, sabato 18 novembre 2006, [EMAIL PROTECTED] ha 
scritto:
> la lista fino a 9 ha spazi e poi no
> c=['1',' ','2',' ',3,' ','4',' ','5',' ','6',' ','7',' ','8','
> ','9','10','11','12','13']
>
> come meglio mi consigliate di farlo

Devi toglierli tutti gli spazi, no?

[x for x in c if x is not ' ']

-- 
 Eriol - *p = NULL; - EIBTI 
 GPG Key ID 297BE0CA
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Sandro Dentella
On Sat, Nov 18, 2006 at 02:12:52PM +0100, [EMAIL PROTECTED] wrote:
>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]

*:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Alessandro
Title: eliminare spazi da lista




[EMAIL PROTECTED] wrote:

  
  
  

  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']
  
come meglio mi consigliate di farlo
  

filter(lambda x: x!=' ', c)

Ciao
Alessandro



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


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Giovanni Porcari


Il giorno 18/nov/06, alle ore 14:26, Sandro Dentella ha scritto:

On Sat, Nov 18, 2006 at 02:12:52PM +0100,  
[EMAIL PROTECTED] wrote:
   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']

poi controlla qui il risultato per vedere se è giusto :http:// 
it.wikipedia.org


:)

G

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


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Sandro Dentella
>   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 Dentella  *:-)
http://www.tksql.orgTkSQL Home page - My GPL work
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] comando eval non funzionante con chiamata a metodo

2006-11-18 Per discussione gheremedin.daniele
scusate di nuovo community ma perchè il comando 
eval(compile('Str='+Str,"",'exec')) non mi funziona sotto la funzione 
quando gli passo la variabile mentre se lo faccio senza funzione funziona 
(scusate il giro di parole)

def funzione2(diz,byte_list,valori_list):
f=open(diz,'r')   ### APRO STRUTTURA 
Str=f.read()  ### LEGGO STRUTTURA IN UNA 
STRINGA
f.close() ### CHIUDO STRUTTURA
eval(compile('Str='+Str,"",'exec'))    COMPILO STR  


funzione2("C:\Documents and Settings\Dany\Desktop\Dizionario",a[0],a[1])  ### 
CHIAMATA FUNZIONE

'''
f = open("C:\Documents and Settings\Dany\Desktop\Dizionario",'r')   
Str = f.read()  
  #  QUESTA FUNZIONA
f.close()   
 ##
eval(compile('Str = '+Str,"",'exec'))   
   
'



Distinti saluti
Daniele Gheremedin

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


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Giovanni Porcari


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


[Python] comando eval non funzionante con chiamata a metodo

2006-11-18 Per discussione gheremedin.daniele
scusate di nuovo community ma perchè il comando 
eval(compile('Str='+Str,"",'exec')) non mi funziona sotto la funzione 
quando gli passo la variabile mentre se lo faccio senza funzione funziona 
(scusate il giro di parole)

def funzione2(diz,byte_list,valori_list):
f=open(diz,'r')   ### APRO STRUTTURA 
Str=f.read()  ### LEGGO STRUTTURA IN UNA 
STRINGA
f.close() ### CHIUDO STRUTTURA
eval(compile('Str='+Str,"",'exec'))    COMPILO STR  


funzione2("C:\Documents and Settings\Dany\Desktop\Dizionario",a[0],a[1])  ### 
CHIAMATA FUNZIONE

'''
f = open("C:\Documents and Settings\Dany\Desktop\Dizionario",'r')   
Str = f.read()  
  #  QUESTA FUNZIONA
f.close()   
 ##
eval(compile('Str = '+Str,"",'exec'))   
   
'



Distinti saluti
Daniele Gheremedin


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


Re: [Python] eliminare spazi da lista

2006-11-18 Per discussione Sandro Dentella
> Sandro...era per scherzare...
> Prova ad usare la prima forma (la seconda darebbe errore perchè sono  
> meno di 9 elementi) sull'esempio proposto.


ops! quando si ha la testa altrove...

*;-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] comando eval non funzionante con chiamata a metodo

2006-11-18 Per discussione Alessandro
funzione2 è definita in una classe? In tal caso aggiungi il primo 
parametro 'self'


Comunque, subito dopo la definizione, prova a printare i parametri che 
gli hai passato


def funzione2(diz,byte_list,valori_list):
   print "-- ",  diz,byte_list,valori_list, " --"
   f=open(diz,'r')  
   ...




Ciao
Alessandro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] I: comando eval non funzionante con chiamata a metodo

2006-11-18 Per discussione gheremedin.daniele
scusate di nuovo community ma perchè il comando 
eval(compile('Str='+Str,"",'exec')) non mi funziona sotto la funzione 
quando gli passo la variabile mentre se lo faccio senza funzione funziona 
(scusate il giro di parole)

def funzione2(diz,byte_list,valori_list):
f=open(diz,'r')   ### APRO STRUTTURA 
Str=f.read()  ### LEGGO STRUTTURA IN UNA 
STRINGA
f.close() ### CHIUDO STRUTTURA
eval(compile('Str='+Str,"",'exec'))    COMPILO STR  


funzione2("C:\Documents and Settings\Dany\Desktop\Dizionario",a[0],a[1])  ### 
CHIAMATA FUNZIONE

'''
f = open("C:\Documents and Settings\Dany\Desktop\Dizionario",'r')   
Str = f.read()  
  #  QUESTA FUNZIONA
f.close()   
 ##
eval(compile('Str = '+Str,"",'exec'))   
   
'



Distinti saluti
Daniele Gheremedin



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