[Python] eliminare spazi da lista
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
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
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
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
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
> 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
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
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
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
> 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
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
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