Re: [Python] formattare il codice per pubblicarlo su blogger
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
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/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/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
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
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!
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
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/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
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
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
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
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
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..
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..
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
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..
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
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
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
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
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/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
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