Re: [Python] formattare il codice per pubblicarlo su blogger

2010-03-10 Per discussione Sandro Tosi
2010/3/9 Calogero Bonasia kbona...@gmail.com:
 grazie! l'ho scritto io :)

 si, sto invecchiando e mi sto rincoglionendo, ma di questo me ne ero
 accorto.

:)

 anzi, non appena posso lo compero. Vorrei capire se è il libro giusto per
 aiutarmi a chiudere un progetto mai completato che porto avanti da anni...

dipende cosa devi fare... magari puoi dare un'occhio alla table of
contents, disponibile al sito che hai gia visto. o al max chiedi.

Ciao,
-- 
Sandro Tosi (aka morph, morpheus, matrixhasu)
My website: http://matrixhasu.altervista.org/
Me at Debian: http://wiki.debian.org/SandroTosi
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Nascondere il codice Python

2010-03-10 Per discussione Marco Mariani
On 03/09/2010 05:35 PM, Marco Dalla Stella wrote:

 Per fortuna che nessuno ha ancora inventato un programma che legge i
 pacchetti che passano dalla rete, altrimenti nascondere il codice
 sarebbe inutile, giusto? :-/
 
 Ho letto di una roba nuova che si chiama SSL, mi pare... :D
   

A parte che il default per python e' non verificare i certificati, e non
e' affatto semplice usarla in modo sicuro.
Ma se l'utente puo' cambiare la libreria openssl, non serve a molto.

-- 
This e-mail (and any attachment(s)) is strictly confidential and for use only 
by intended recipient(s). Any use, distribution, reproduction or disclosure by 
any other person is strictly prohibited. The content of this e-mail does not 
constitute a commitment by the Company except where provided for in a written 
agreement between this e-mail addressee and the Company. If you are not an 
intended recipient(s), please notify the sender promptly and destroy this 
message and its attachments without reading or saving it in any manner. Any non 
authorized use of the content of this message constitutes a violation of the 
obligation to abstain from learning of the correspondence among other subjects, 
except for more serious offence, and exposes the person responsible to the 
relevant consequences.

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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Sandro Tosi
2010/3/10 Nicola Ferrari nick.fe...@gmail.com:
 Per numeri piccoli, direi che una soluzione simile a questa, sarebbe ok..

 for val in range(100):
     for n2 in li:
     if F1(val, n2): print val


 ma se avessi una li di 200 elementi, risulterebbe pesante...

sai spiegare questa tua affermazione? devi cmq chiamare F1 per
100*len(li) volte, quindi e' pesante la quantita' di operazioni che
devi fare, non il doppio ciclo for.

 Qualche idea per migliorare il tutto?

se il codice e' cosi' semplice, non c'e' molto da migliorare.

Ciao,
-- 
Sandro Tosi (aka morph, morpheus, matrixhasu)
My website: http://matrixhasu.altervista.org/
Me at Debian: http://wiki.debian.org/SandroTosi
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Nascondere il codice Python

2010-03-10 Per discussione Marco Dalla Stella
2010/3/10 Marco Mariani marco.mari...@prometeia.it:

 Ho letto di una roba nuova che si chiama SSL, mi pare... :D


 A parte che il default per python e' non verificare i certificati, e non
 e' affatto semplice usarla in modo sicuro.
 Ma se l'utente puo' cambiare la libreria openssl, non serve a molto.

Hai ragione, nulla è sicuro su questa terra.

-- 
Marco Dalla Stella
web: http://thediracsea.org
twitter: http://twitter.com/kra1iz3c
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Valerio Turturici
Nicola Ferrari ha scritto:
 Ma nel caso in cui avessi una quantità enorme di elementi, ci 
 sarebbero problemi di prestazioni...

La funzione la puoi scrivere cosi

def F1(n1 = 0, n2 = 0):
 return n1  n2


Comunque con questo codice il mio portatile impiega meno di 25s 
(compreso anche il tempo della creazione della lista, che in ogni caso è 
irrisorio):

l = [x for x in range(100)]

def F1(n1 = 0, n2 = 0):
 return n1  n2
 
for val in range(100):
for val2 in l:
if F1(val, val2): print val


Cosi sul momento non mi viene in mente nulla per poterlo ottimizzare 
pesantemente, visto che devi abbinare ad ogni elemento di range tutti 
quelli della lista, e quindi fare x*n iterazioni. Ora vado a mettermi 
davanti al termosifone, ho le mani congelate :D

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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Valerio Turturici
Simone Federici ha scritto:
 f1 = lambda n1, n2 : n1  n2

 for val in range(100):
 for val2 in range(100):
 if f1(val, val2):
 print val
 else:
 break

 chiaro che cosi dai assunto che conosci il punto di uscita di f1


Si poteva anche scrivere cosi, però l'ho scritta in quel modo basandomi 
sul suo codice e per rendergliela più chiara (anche se con l'espressione 
di mappatura ho fatto due volte la stessa cosa). Comunque si, si dà per 
assunto che si conosce il punto di uscita, magari lo dà anche per 
assunto l'OP.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Organizziamo insieme il PyDayBO a Bologna , ospitato dalla facoltà di ingegneria!

2010-03-10 Per discussione Simone Federici
Buona fortuna,
mi sarebbe piaciuto essere presente. Ma ho un impegno lavorativo.




2010/2/26 Raffaele Serra gufogo...@gmail.com

 Ragazz* l'evento è confermato!
 (grazie a tutti i relatori che si sono resi disponibili)

 *GIOVEDI' 18 MARZO C/O FACOLT DI INGEGNERIA DI BOLOGNA!*

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


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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Simone Federici
l'ottimizzazione del punto d'uscita è il break



2010/3/10 Valerio Turturici turturici.vale...@gmail.com

 Simone Federici ha scritto:
  f1 = lambda n1, n2 : n1  n2
 
  for val in range(100):
  for val2 in range(100):
  if f1(val, val2):
  print val
  else:
  break
 
  chiaro che cosi dai assunto che conosci il punto di uscita di f1
 
 
 Si poteva anche scrivere cosi, però l'ho scritta in quel modo basandomi
 sul suo codice e per rendergliela più chiara (anche se con l'espressione
 di mappatura ho fatto due volte la stessa cosa). Comunque si, si dà per
 assunto che si conosce il punto di uscita, magari lo dà anche per
 assunto l'OP.
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Giovanni Marco Dall'Olio
2010/3/10 Nicola Ferrari nick.fe...@gmail.com:

 ma se avessi una li di 200 elementi, risulterebbe pesante...
 Qualche idea per migliorare il tutto?

Penso sia la stessa domanda proposta qui:
- 
http://stackoverflow.com/questions/2355542/ugly-combination-of-generator-expression-with-for-loop

Se ho capito bene il problema:
 l1 = range(1, 3)
[1, 2, 3]
 l2 = 'abs'.split('')
['a', 'b', 'c']
 def check(x):
... return x  1

un po' di consigli sparsi:
- in genere, le list comprehension sono piú veloci dei cicli, per cui
ti conviene utilizzarle dove possibile
 [(e1, e2) for e1 in l1 for e2 in l2]
 [(e1, e2) for e1 in l1 for e2 in l2 if check(e2) is True]
 [(2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]

- se usi xrange() al posto di range(), risparmi un bel po' di memoria
ram, perché non ti genera una lista con 100 elementi ma un oggetto che
ti ritorna il numero successivo ogni volta che viene chiamato.
help(xrange) per i dettagli
 for n in xrange(100): print x

- itertools.ifilter ti permette di applicare una funziona a tutti gli
elementi di una lista e ritornare solo quelli per cui questa ritorna
True, in una unica operazione e molto piu' velocemente (perché é
scritto in C e si applica ad un array)

- itertools.product dovrebbe darti il prodotto cartesiano, ma mi
sembra che non vi sia almeno in python2.5, e per il momento non te lo
posso provare (sono su una vecchia ubuntu).



 Grazie




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





-- 
Giovanni Dall'Olio, phd student
Department of Biologia Evolutiva at CEXS-UPF (Barcelona, Spain)

My blog on bioinformatics: http://bioinfoblog.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Marco Mariani
On 03/10/2010 02:20 PM, Giovanni Marco Dall'Olio wrote:


 - itertools.product dovrebbe darti il prodotto cartesiano, ma mi
 sembra che non vi sia almeno in python2.5, e per il momento non te lo
 posso provare (sono su una vecchia ubuntu).
   

Lo uso tranquillamente sulla 2.5, sono poche righe:

 # itertools.product from python 2.6
 def product(*args, **kwds):
 pools = map(tuple, args) * kwds.get('repeat', 1)
 if pools:
 result = [[]]
 for pool in pools:
 result = [x+[y] for x in result for y in pool]
 for prod in result:
 yield tuple(prod)


-- 
This e-mail (and any attachment(s)) is strictly confidential and for use only 
by intended recipient(s). Any use, distribution, reproduction or disclosure by 
any other person is strictly prohibited. The content of this e-mail does not 
constitute a commitment by the Company except where provided for in a written 
agreement between this e-mail addressee and the Company. If you are not an 
intended recipient(s), please notify the sender promptly and destroy this 
message and its attachments without reading or saving it in any manner. Any non 
authorized use of the content of this message constitutes a violation of the 
obligation to abstain from learning of the correspondence among other subjects, 
except for more serious offence, and exposes the person responsible to the 
relevant consequences.

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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Valerio Turturici
Simone Federici ha scritto:
 l'ottimizzazione del punto d'uscita è il break


 Si infatti. Magari mi sbaglio, ma per quello che ha detto gli 
 interessa solo quando la funzione restituisce True, quindi il break ci 
 sta tutto.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Nicola Ferrari
Grazie a tutti per le risposte..
Ora ho qualcosa di nuovo su cui studiare :)

La funzione, scritta come funzione lambda , migliora le prestazioni?
In questo caso, come mai è meglio usarla?

Il giorno 10 marzo 2010 14.49, Valerio Turturici 
turturici.vale...@gmail.com ha scritto:

 Simone Federici ha scritto:
  l'ottimizzazione del punto d'uscita è il break
 
 
  Si infatti. Magari mi sbaglio, ma per quello che ha detto gli
  interessa solo quando la funzione restituisce True, quindi il break ci
  sta tutto.
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Simone Federici
Si in effetti la piega del tread sta vertendo su cose molto interessanti,
che mostrano la potenza del linguaggio.
Ma prima delle features, c'è da utilizzare un pensiero ingegneristico.

cmq la funzione lambda è solo questione di stile. alcuni dicono sia più
leggibile. quanto a performance è identica

leggiti la parte dei generators, degli iterators e degli slices

ciao


Simone Federici
---
Software Architect



2010/3/10 Valerio Turturici turturici.vale...@gmail.com

 Simone Federici ha scritto:
  l'ottimizzazione del punto d'uscita è il break
 
 
  Si infatti. Magari mi sbaglio, ma per quello che ha detto gli
  interessa solo quando la funzione restituisce True, quindi il break ci
  sta tutto.
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

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


Re: [Python] ciclo for dentro un ciclo for

2010-03-10 Per discussione Valerio Turturici
Nicola Ferrari ha scritto:
 Grazie a tutti per le risposte..
 Ora ho qualcosa di nuovo su cui studiare :)

E' identica alla def, solo che la puoi usare in posti dove la def non è 
consentita, ad esempio nelle espressioni.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] execfile.. va e non va..

2010-03-10 Per discussione Marco Fochesato
Il giorno lun, 08/03/2010 alle 18.08 +0100, Valerio Turturici ha
scritto:
 os.path.realpath(os.curdir)

Qualcosa non va:

 print os.path.realpath(os.curdir)
Traceback (most recent call last):
  File pyshell#0, line 1, in module
print os.path.realpath(os.curdir)
NameError: name 'os' is not defined

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


Re: [Python] execfile.. va e non va..

2010-03-10 Per discussione Valerio Turturici
Devi importare il modulo os prima ;)

2010/3/10 Marco Fochesato marco...@libero.it

 Il giorno lun, 08/03/2010 alle 18.08 +0100, Valerio Turturici ha
 scritto:
  os.path.realpath(os.curdir)

 Qualcosa non va:

  print os.path.realpath(os.curdir)
 Traceback (most recent call last):
  File pyshell#0, line 1, in module
print os.path.realpath(os.curdir)
 NameError: name 'os' is not defined

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




-- 
Valerio Turturici

ADISOL - Associazione per la Divulgazione in Italia del
Software Opensource e Libero
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Metodo Dizionari

2010-03-10 Per discussione Nicola Ferrari
Ciao..
ho un dizionario e vorrei eliminare tutti quelli che hanno lo stesso
valore..
Come posso fare?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] execfile.. va e non va..

2010-03-10 Per discussione Marco Fochesato
Fatto!
L'ho sgamato!
Quando lancio il programmino da idle, l'output è la cartella dove è
salvato il programmino.
Quando lo lancio con il lanciatore del desktop, l'output è la mia home
(quindi non trova il file da lanciare).
Ho risolto dando questo comando:
os.curdir = la/cartella/che/mi/interessa
sembra funzionare.. 
non son del tutto convinto che sia questa la soluzione però.. visto che
con lo stesso programmino lanciavo anche altri file, nella stessa
situazione del primo... e gli altri partivano (quindi li trovava senza
aver bisogno di dichiarare il path..)...
Bohh!!
Marco

Il giorno mer, 10/03/2010 alle 21.03 +0100, Valerio Turturici ha
scritto:
 Devi importare il modulo os prima ;)


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


Re: [Python] Metodo Dizionari

2010-03-10 Per discussione Andrea Gasparini
In data mercoledì 10 marzo 2010 21:49:44, Nicola Ferrari ha scritto:
 ho un dizionario e vorrei eliminare tutti quelli che hanno lo stesso
 valore..
 Come posso fare?
 

http://www.python.org/doc/faq/programming/#how-do-you-remove-duplicates-from-
a-list

bye
-- 
-gaspa-
---
- http://launchpad.net/~gaspa -
--- HomePage: gaspa.yattaweb.it 
-Il lunedi'dell'arrampicatore: www.lunedi.org -
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Metodo Dizionari

2010-03-10 Per discussione Valerio Turturici
Nicola Ferrari ha scritto:
 Ciao..
 ho un dizionario e vorrei eliminare tutti quelli che hanno lo stesso 
 valore..
 Come posso fare?

Tutti chi? Quale valore?

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


Re: [Python] Metodo Dizionari

2010-03-10 Per discussione Nicola Ferrari
dizionario = {1:True, 2:True, 3:False, 4:True}

Come faccio ad eliminare tutti gli elementi del mio dizionario aventi valore
False??

Il giorno 10 marzo 2010 22.17, Valerio Turturici 
turturici.vale...@gmail.com ha scritto:

 Nicola Ferrari ha scritto:
  Ciao..
  ho un dizionario e vorrei eliminare tutti quelli che hanno lo stesso
  valore..
  Come posso fare?
 
 Tutti chi? Quale valore?

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




-- 
Nicola Ferrari
website: http://www.nicolaferrari.name

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


Re: [Python] Metodo Dizionari

2010-03-10 Per discussione Nicola Ferrari
Ah ok.. devo comunque ciclare il dizionario...

Il giorno 10 marzo 2010 22.24, Valerio Turturici 
turturici.vale...@gmail.com ha scritto:

 Nicola Ferrari ha scritto:
  dizionario = {1:True, 2:True, 3:False, 4:True}
 
  Come faccio ad eliminare tutti gli elementi del mio dizionario aventi
  valore False??
 
 Una soluzione potrebbe essere questa:

 for x in dizionario.keys():
if dizionario[x] == False:
del dizionario[x]


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




-- 
Nicola Ferrari
website: http://www.nicolaferrari.name

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


Re: [Python] Metodo Dizionari

2010-03-10 Per discussione Carlo C8E Miron
2010/3/10 Nicola Ferrari nick.fe...@gmail.com:
 dizionario = {1:True, 2:True, 3:False, 4:True}
 Come faccio ad eliminare tutti gli elementi del mio dizionario aventi valore
 False??

 dict((key, value) for key, value in dizionario.items() if value)
{1: True, 2: True, 4: True}

oppure anche

 dict((key, True) for key in dizionario if dizionario[key])
{1: True, 2: True, 4: True}

PS: python 3 permette anche

 {key: True for key in dizionario if dizionario[key]}
{1: True, 2: True, 4: True}

©
-- 
Carlo C8E Miron
Open Source Solution Architect
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Metodo Dizionari

2010-03-10 Per discussione Daniele Varrazzo
On Wed, 10 Mar 2010 22:33:09 +0100, Carlo C8E Miron
carlo.mi...@gmail.com
wrote:
 2010/3/10 Nicola Ferrari nick.fe...@gmail.com:
 dizionario = {1:True, 2:True, 3:False, 4:True}
 Come faccio ad eliminare tutti gli elementi del mio dizionario aventi
 valore
 False??
 
 dict((key, value) for key, value in dizionario.items() if value)
 {1: True, 2: True, 4: True}
 
 oppure anche
 
 dict((key, True) for key in dizionario if dizionario[key])
 {1: True, 2: True, 4: True}

Questo però non modifica il dizionario: ne crea uno nuovo. A Nicola può
andare bene o anche no.

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python