Re: [Python] Design Pattern

2013-09-27 Per discussione mogui
Il 26/09/13 14:50, Carlos Catucci  ha scritto:
> A Byte of Python 2 x.pdf
> A Byte of Python 3 0.pdf
> A Learner's Guide to Programming Using the Python Language (2009).pdf

> WxPython 2 8 Application Development Cookbook
> Wxpython_gui_and_programming
> XML Processing with Perl, Python, and PHP (2002).pdf

Quite impressive :O

-- 
---

m0gui - Keep calm & code in C
---
pub   1024D/3BF6890C
Key fingerprint = CEDD 4512 3248 4C9C 2493 FE56 2E55 A884 3BF6 890C
server: pgp.mit.edu
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Carlos Catucci
On 26 September 2013 15:00, mogui  wrote:

> Quite impressive :


Si fa' il possibile

Carlos
-- 
"Somos los que amasan, sin embargo no tenemos pan,
somos los que cavan el carbón, sin embargo tenemos frío
somos los que no tienen nada, y estamos viniendo a tomar el mundo."
Tassos Livaditis (Poeta greco, 1922, 1988)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Cython ImportError: ./region.so: undefined symbol: G_get_window

2013-09-27 Per discussione Pietro
Per completezza visto che oggi ho avuto il tempo per risolvere questa
vecchia questione...

2013/8/10 Enrico Franchi :
> On Aug 10, 2013, at 7:40 PM, Pietro  wrote:
>
>> Come devo fare per fare il link a "grass/gis.h"?
>
> Non puoi linkare ad un header. Quello che devi fare e' linkare alla libreria 
> dinamica di GIS.

per fare il link è sufficiente modificare il setup.py aggiungendo
l'opzione "libraries" quando si instanzia la classe Extension,
maggiori informazioni sono disponibili qui:

http://docs.python.org/2/extending/building.html

il mio setup.py è diventato:

{{{
# -*- coding: utf-8 -*-
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import os

GISBASE = os.getenv('GISBASE')
INCLUDE_DIR = os.path.join(GISBASE, 'include')  # include
LIB_DIR = os.path.join(GISBASE, 'lib')  # lib

setup(
cmdclass={'build_ext': build_ext},
ext_modules=[Extension("region", ["region.pyx"],
   include_dirs=[INCLUDE_DIR, ],
   libraries=['grass_gis'],
   library_dirs=[LIB_DIR, ],
   )
 ]
)
}}}

Nel mio caso la variabile d'ambiente "GISBASE" è il path di
installazione del programma, al suo interno si trovano le directory
"include" con gli headers e "lib" con le libraries compilate,
nell'esempio sopra riportato sto utilizzando la libreria
libgrass_gis.so

Buona giornata.

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


[Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Piergiuliano Bossi
Ciao a tutti, un altro quesito della Susy: data una funzione e una
collezione, come fate a calcolare il valore in corrispondenza del quale la
funzione e' massimizzata?

Diciamo che ogni oggetto nella collezione _values implementa un metodo
func() che ritorna un valore confrontabile.

V1
def _max_value(self):
max_value = self._values[0] # facciamo finta che la la collezione
e' per definizione non vuota e ogni valore e' significativo
for i in range(1, len(self._values)):

if self._values[i].func() > max_values.func():
max_value = self._values[i]
return max_value

Questa versione funziona, ma il codice fa francamente un po' schifo e la
prossima volta che ho un problema simile dovro' riscrivere tutto.

V2
def value_at_max(values, functor):
max_value = None # si usano trucchetti come questo con None o ci
sono modi migliori?
for value in values:
if not max_value or functor(value) > functor(max_value):
max_value = value
return max_value

def _max_value(self):
return value_at_max(self._values, lambda v: v.func())

V2 mi sembra meglio, riutilizzero' value_at_max in altri posti.

C'e' un V3 migliore? Se ci fosse gia' una funzione built-in sarei ancora
piu' contento.
Come la mettiamo in termini "pitonici"? Sto distorcendo il linguaggio in
modo innaturale?

Ciao,
Giuliano

-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
2013/9/27 Piergiuliano Bossi 

> Ciao a tutti, un altro quesito della Susy: data una funzione e una
> collezione, come fate a calcolare il valore in corrispondenza del quale la
> funzione e' massimizzata?
>

Primo gravissimo errore: la Susi ha la "i" normale. Troppo inglese
ultimamente eh? :-D

>
> Diciamo che ogni oggetto nella collezione _values implementa un metodo
> func() che ritorna un valore confrontabile.
> V1
> def _max_value(self):
> max_value = self._values[0] # facciamo finta che la la collezione
> e' per definizione non vuota e ogni valore e' significativo
> for i in range(1, len(self._values)):
>
> if self._values[i].func() > max_values.func():
> max_value = self._values[i]
> return max_value
>

> Questa versione funziona, ma il codice fa francamente un po' schifo e la
> prossima volta che ho un problema simile dovro' riscrivere tutto.
>
> V2
> def value_at_max(values, functor):
> max_value = None # si usano trucchetti come questo con None o ci
> sono modi migliori?
> for value in values:
> if not max_value or functor(value) > functor(max_value):
> max_value = value
> return max_value
>
> def _max_value(self):
> return value_at_max(self._values, lambda v: v.func())
>
> V2 mi sembra meglio, riutilizzero' value_at_max in altri posti.
>

Questa non ti piace?

max_value = max(functor(value) for value in values)

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
2013/9/27 Marco Beri 

> max_value = max(functor(value) for value in values)
>

Ho riletto bene il tuo messaggio. Ho scritto una minchiata :-)

Ora ci ripenso.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
2013/9/27 Piergiuliano Bossi 

> Ciao a tutti, un altro quesito della Susy: data una funzione e una
> collezione, come fate a calcolare il valore in corrispondenza del quale la
> funzione e' massimizzata?
>
> Diciamo che ogni oggetto nella collezione _values implementa un metodo
> func() che ritorna un valore confrontabile.
>
> V1
> def _max_value(self):
> max_value = self._values[0] # facciamo finta che la la collezione
> e' per definizione non vuota e ogni valore e' significativo
> for i in range(1, len(self._values)):
>
> if self._values[i].func() > max_values.func():
> max_value = self._values[i]
> return max_value
>

Questo non è pythonico (e c'è un errore max_value.func() senza "s").

Meglio:

def _max_value(self):
max_value = self._values[0]
for value in self._values:
if value.func() > max_value.func():
max_value = value
return max_value

Comunque mi auguro che func() non sia pesante computazionalmente perché lo
ricalcoli ogni volta per max_value.

Questa versione funziona, ma il codice fa francamente un po' schifo e la
> prossima volta che ho un problema simile dovro' riscrivere tutto.
>
> V2
> def value_at_max(values, functor):
> max_value = None # si usano trucchetti come questo con None o ci
> sono modi migliori?
> for value in values:
> if not max_value or functor(value) > functor(max_value):
> max_value = value
> return max_value
>
> def _max_value(self):
> return value_at_max(self._values, lambda v: v.func())
>
> V2 mi sembra meglio, riutilizzero' value_at_max in altri posti.
>

Io userei questo:

V3
max_value = values[max((value.func(), i) for i, value in
enumerate(values))[1]]

Se lo vuoi un po' più leggibile:

V3b
max_value_value, index = max((value.func(), i) for i, value in
enumerate(values))
max_value = values[index]

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 27/09/2013 13:26, Piergiuliano Bossi wrote:


Perche' non usare invece una funzione libera che accetta un oggetto del
tipo usato nella collezione?



Se ti piace costruire a partire da blocchi principali, allora per
prima cosa ci serve una funziona che restituisce il valore massimo in
una sequenza e l'indice all'interno della sequenza che corrisponde a
questo massimo.

def max_idx(seq):
# NOTE: this implementation do not support generators;
#   assume seq is not empty
max = seq[0]
max_idx = 0

for idx, value in enumerate(seq, start=1):
if value > max:
max = value
max_idx = idx

# Return the index of the first occurrence of the max value
return max, max_idx


def max_value(seq, functor):
# NOTE: do not support generators (really!)
max, max_idx = max_idx(map(functor, seq))

return seq[max_idx]


Non mi pronuncio sull'efficienza.


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlJFdM0ACgkQscQJ24LbaUSqJQCfe4w0D+hSSFtBjE/hweGKjYyS
8ZYAnAm+vQBvSdPHTsdjuTe3JhJcjNKH
=28aH
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
On Fri, Sep 27, 2013 at 2:06 PM, Manlio Perillo wrote:

> Se ti piace costruire a partire da blocchi principali, allora per
> prima cosa ci serve una funziona che restituisce il valore massimo in
> una sequenza e l'indice all'interno della sequenza che corrisponde a
> questo massimo.
>

Aha! Anche tu ci sei cascato. Mi sento sollevato...

Non è quello che ha chiesto Giuliano. Lui vuole il valore per cui
funzione(valore) è massimo.
Non vuole l'indice, non vuole il massimo di valore, non vuole il massimo di
funzione(valore).

Ho capito bene, Giuliano?

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Nadir Sampaoli
Il giorno 27 settembre 2013 13:26, Piergiuliano Bossi
ha scritto:

> V2
> def value_at_max(values, functor):
> max_value = None # si usano trucchetti come questo con None o ci
> sono modi migliori?
> for value in values:
> if not max_value or functor(value) > functor(max_value):
> max_value = value
> return max_value
>
> def _max_value(self):
> return value_at_max(self._values, lambda v: v.func())
>

Probabilmente non ho capito, ma non mi tornano un paio di cose:

1. se `functor = lambda v: v.func()` e `max_value = None` allora
`functor(max_value) = None.func()`, che però non va bene.

2. V1 e V2 non mi sembrano avere lo stesso comportamento, perchè mentre V2
restituisce il primo `value` che è non "falsy" e per il quale vale
`functor(value) > functor(max_value)` (dato che la condizione si
corto-circuita e non vengono effettuati altri confronti), invece V1
restituisce l'i-esimo elemento di `self._values` per il quale
`self._values[i].func() restituisce il valore massimo.

Mi sono perso qualcosa?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 27/09/2013 14:09, Marco Beri wrote:
> On Fri, Sep 27, 2013 at 2:06 PM, Manlio Perillo 
> mailto:manlio.peri...@gmail.com>>
> wrote:
> 
> Se ti piace costruire a partire da blocchi principali, allora per 
> prima cosa ci serve una funziona che restituisce il valore massimo
> in una sequenza e l'indice all'interno della sequenza che
> corrisponde a questo massimo.
> 
> 
> Aha! Anche tu ci sei cascato. Mi sento sollevato...
> 
> Non │ quello che ha chiesto Giuliano. Lui vuole il valore per cui 
> funzione(valore) │ massimo.

E non e' quello che fa il mio codice?
La prima funzione e' usata per trovare il massimo di funzione(valore)
e l'indice corrispondente.  La seconda funzione usa l'indice per
trovare il valore per cui funzione(valore) e' massimo.

> [...]


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlJFeDgACgkQscQJ24LbaUQ9hwCgmIiI3I5J0+hJJfXS+XMO5kZR
7KUAmwXi3IWWGYtAUMTK6U/PM+mLWWQW
=Ndil
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
2013/9/27 Manlio Perillo 

> E non e' quello che fa il mio codice?
> La prima funzione e' usata per trovare il massimo di funzione(valore)
> e l'indice corrispondente.  La seconda funzione usa l'indice per
> trovare il valore per cui funzione(valore) e' massimo.
>

Hai ragione... non è giornata, mi ritiro a vita privata... :-)

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Valerio Maggio
2013/9/27 Manlio Perillo 

>
> On 27/09/2013 14:09, Marco Beri wrote:>
> > Aha! Anche tu ci sei cascato. Mi sento sollevato...
> >
> > Non │ quello che ha chiesto Giuliano. Lui vuole il valore per cui
> > funzione(valore) │ massimo.
>
> E non e' quello che fa il mio codice?
> La prima funzione e' usata per trovare il massimo di funzione(valore)
> e l'indice corrispondente.  La seconda funzione usa l'indice per
> trovare il valore per cui funzione(valore) e' massimo.
>
>
scusate ma un:

def _max_value(self):
return max(self._values, key=lambda v: v.func())

no? Non dovrebbe risolvere?


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


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
2013/9/27 Valerio Maggio 

> def _max_value(self):
> return max(self._values, key=lambda v: v.func())
>

Eh, torna il valore calcolato e non quello originale...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Valerio Maggio
On Fri, Sep 27, 2013 at 2:27 PM, Marco Beri  wrote:

> 2013/9/27 Valerio Maggio 
>
>> def _max_value(self):
>> return max(self._values, key=lambda v: v.func())
>>
>
> Eh, torna il valore calcolato e non quello originale...
>
>
Mmm... per come l'ho capita io:
l'obiettivo è avere il valore `v in values` tale che `functor(v)` assume
valore massimo, right?
In altre parole:

target = v : v \in values \and functor(v) > functor(v') \forall v' \in
values, v' != v

se è così:

max(values, key=lambda v: functor(v))

ritorna il valore cercato, ergo v e non functor(v).

Dove sbaglio?

Se poi si cerca l'indice di v e non v, allora è un altro discorso.
Su questo, però, esempio di codice "originale" (V1 e V2) e oggetto del
messaggio sembrano non concordare :)


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


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Nadir Sampaoli
2013/9/27 Marco Beri 

> 2013/9/27 Valerio Maggio 
>
>> def _max_value(self):
>> return max(self._values, key=lambda v: v.func())
>>
>
> Eh, torna il valore calcolato e non quello originale...
>

In realtà torna l'originale:

In [27]: class C():
def __init__(self, val):
self.val = val
def func(self):
return self.val
   :

In [28]: values = [C(x) for x in range(10)]

In [29]: value = max(values, key=lambda v: v.func())

In [30]: value is values[-1]
Out[30]: True

In [31]: result = max(value.func() for value in values)

In [32]: result is values[-1].func()
Out[32]: True


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


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Nadir Sampaoli
>
>  if not max_value or functor(value) > functor(max_value):
>>
>> 2. V1 e V2 non mi sembrano avere lo stesso comportamento, perchè mentre
> V2 restituisce il primo `value` che è non "falsy" e per il quale vale
> `functor(value) > functor(max_value)` (dato che la condizione si
> corto-circuita e non vengono effettuati altri confronti), invece V1
> restituisce l'i-esimo elemento di `self._values` per il quale
> `self._values[i].func() restituisce il valore massimo.
>
> Mi sono perso qualcosa?
>

Ok, scusate, mi ero perso il `not` in `if not max_value`.


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


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Marco Beri
On Fri, Sep 27, 2013 at 2:40 PM, Nadir Sampaoli wrote:

> 2013/9/27 Marco Beri 
>
>> 2013/9/27 Valerio Maggio 
>>
>>> def _max_value(self):
>>> return max(self._values, key=lambda v: v.func())
>>>
>>
>> Eh, torna il valore calcolato e non quello originale...
>>
>
> In realtà torna l'originale:
>

"Hai ragione... non è giornata, mi ritiro a vita privata"  [cit]

Tre cappelle in un unico thread sono a mio parere un record difficilmente
superabile.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Piergiuliano Bossi
2013/9/27 Marco Beri 

> 2013/9/27 Piergiuliano Bossi 
>
>> Ciao a tutti, un altro quesito della Susy: data una funzione e una
>> collezione, come fate a calcolare il valore in corrispondenza del quale la
>> funzione e' massimizzata?
>>
>
> Primo gravissimo errore: la Susi ha la "i" normale. Troppo inglese
> ultimamente eh? :-D
>

Suonava troppo autarchico con la "i". :)

Ciao
Giuliano


-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Piergiuliano Bossi
On Fri, Sep 27, 2013 at 8:06 AM, Manlio Perillo wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> On 27/09/2013 13:26, Piergiuliano Bossi wrote:
>
>
> Perche' non usare invece una funzione libera che accetta un oggetto del
> tipo usato nella collezione?
>
>
Non sono sicuro di capire cosa intendi...


> Se ti piace costruire a partire da blocchi principali,


Ehm, si', mi piace abbastanza, quando posso. A te? :)


> def max_idx(seq):
>
[...]

In effetti ritornare l'indice puo' essere piu' riutilizzabile. OTOH, e' un
pelo meno leggibile IMHO.

Comunque il tuo approccio e' alla fin fine filosoficamente equivalente al
mio, o sbaglio?

Grazie e ciao
Giuliano


-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Piergiuliano Bossi
2013/9/27 Marco Beri 

>
> Tre cappelle in un unico thread sono a mio parere un record difficilmente
> superabile.
>
>
(da pronuncia con forte accento germanico)
"SIETE TUTTI CATUTI IN MIA TRAPPOLA!!"

:)

Ciao
Giuliano

-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Piergiuliano Bossi
On Fri, Sep 27, 2013 at 8:06 AM, Marco Beri  wrote:

> 2013/9/27 Piergiuliano Bossi 
>
>> Ciao a tutti, un altro quesito della Susy: data una funzione e una
>> collezione, come fate a calcolare il valore in corrispondenza del quale la
>> funzione e' massimizzata?
>>
>> Diciamo che ogni oggetto nella collezione _values implementa un metodo
>> func() che ritorna un valore confrontabile.
>>
>> V1
>> def _max_value(self):
>> max_value = self._values[0] # facciamo finta che la la
>> collezione e' per definizione non vuota e ogni valore e' significativo
>> for i in range(1, len(self._values)):
>>
>> if self._values[i].func() > max_values.func():
>> max_value = self._values[i]
>> return max_value
>>
>
> Questo non è pythonico (e c'è un errore max_value.func() senza "s").
>

Bene, sono contento che anche secondo voi sia una fetecchia. Nello
specifico, e' per via dell'iterazione sul range anziche' sui valori?


>
> Meglio:
>
> def _max_value(self):
> max_value = self._values[0]
> for value in self._values:
> if value.func() > max_value.func():
> max_value = value
> return max_value
>
>
Tu saresti contento cosi' o andresti per V3?


> Comunque mi auguro che func() non sia pesante computazionalmente perché lo
> ricalcoli ogni volta per max_value.
>
>
Si', giusta osservazione.


> Io userei questo:
>
> V3
> max_value = values[max((value.func(), i) for i, value in
> enumerate(values))[1]]
>
>
Questo mi piace ASSAI! :)
Penso che lo wrappero' comunque in una funzioncina per ricordarmi cosa
caspita fa.


> Se lo vuoi un po' più leggibile:
>
> V3b
> max_value_value, index = max((value.func(), i) for i, value in
> enumerate(values))
> max_value = values[index]
>
>
Si', grazie.

Ciao
Giuliano

-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Piergiuliano Bossi
2013/9/27 Valerio Maggio 

> Mmm... per come l'ho capita io:
> l'obiettivo è avere il valore `v in values` tale che `functor(v)` assume
> valore massimo, right?
> In altre parole:
>
> target = v : v \in values \and functor(v) > functor(v') \forall v' \in
> values, v' != v
>
> se è così:
>
> max(values, key=lambda v: functor(v))
>
> ritorna il valore cercato, ergo v e non functor(v).
>
> Dove sbaglio?
>
>
Ma per giove, da nessuna parte: questo e' esattamente quello che volevo! :)
Non avevo capito che key si puo' usare cosi' in max,


> Se poi si cerca l'indice di v e non v, allora è un altro discorso.
>

No, io cercavo proprio v.


> Su questo, però, esempio di codice "originale" (V1 e V2) e oggetto del
> messaggio sembrano non concordare :)
>
>
In che senso?!?

Grazie mille.

Ciao
Giuliano

-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Marco De Paoli
2013/9/27 Carlos Catucci 

> Si fa' il possibile
>

gracias, Carlos
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Carlos Catucci
2013/9/27 Marco De Paoli 

> gracias, Carlos


Mo ben so, per cosi' poco. Mi raccomando pero', non fate che adesso i libri
validi non li comprate!

Carlos
-- 
"Somos los que amasan, sin embargo no tenemos pan,
somos los que cavan el carbón, sin embargo tenemos frío
somos los que no tienen nada, y estamos viniendo a tomar el mundo."
Tassos Livaditis (Poeta greco, 1922, 1988)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Valerio Maggio
2013/9/27 Piergiuliano Bossi 

> 2013/9/27 Valerio Maggio 
>
>>  Su questo, però, esempio di codice "originale" (V1 e V2) e oggetto del
>> messaggio sembrano non concordare :)
>>
>
>>
> In che senso?!?
>

Scusa, ma non so perché quando l'ho letto pensavo intendessi dire l'indice
piuttosto che il valore...:)


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


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 27/09/2013 14:24, Valerio Maggio wrote:
> [...]
> 
> scusate ma un:
> 
> def _max_value(self): return max(self._values, key=lambda v:
> v.func())
> 
> no? Non dovrebbe risolvere?
> 

Va benissimo, direi!
Ed │ molto pi elegante, generica (e probabilmente efficiente) della
mia versione.


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlJFj+8ACgkQscQJ24LbaURrWwCeJDVlo1DB79NTMD7WEO2kOXkZ
oTYAn2DE6CQ+WU9JoNDF9L8XTEM15bFL
=ZoXN
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Gollum1
Il giorno 27/set/2013 15:52, "Carlos Catucci"  ha
scritto:
>
>
> 2013/9/27 Marco De Paoli 
>>
>> gracias, Carlos
>
>
> Mo ben so, per cosi' poco. Mi raccomando pero', non fate che adesso i
libri validi non li comprate!
>
Comprateli in elettronico se ve li vendono con social drm. Boicottiamo
quelli che vendono con il drm di adobe.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 27/09/2013 14:22, Marco Beri wrote:
> 2013/9/27 Manlio Perillo  >
> 
> E non e' quello che fa il mio codice? La prima funzione e' usata
> per trovare il massimo di funzione(valore) e l'indice
> corrispondente.  La seconda funzione usa l'indice per trovare il
> valore per cui funzione(valore) e' massimo.
> 
> 
> Hai ragione... non │ giornata, mi ritiro a vita privata... :-)
> 

Comunque quel codice contiene un bug.  Peccato che non ricevo le mail
che invio in ml, non posso annotare l'errore.


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlJFju4ACgkQscQJ24LbaUSv/ACffbvXctQeHHwlIm3kXwwne/Kf
ELgAn1EeQs2udTfNaY2NIXVCWBMjwSHI
=tzd3
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Carlos Catucci
2013/9/27 Gollum1 

> Comprateli in elettronico se ve li vendono con social drm. Boicottiamo
> quelli che vendono con il drm di adobe.


Cos'e' il social drm?

Carlos
-- 
"Somos los que amasan, sin embargo no tenemos pan,
somos los que cavan el carbón, sin embargo tenemos frío
somos los que no tienen nada, y estamos viniendo a tomar el mundo."
Tassos Livaditis (Poeta greco, 1922, 1988)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Gollum1
Il giorno 27/set/2013 16:15, "Carlos Catucci"  ha
scritto:
>
>
> 2013/9/27 Gollum1 
>>
>> Comprateli in elettronico se ve li vendono con social drm. Boicottiamo
quelli che vendono con il drm di adobe.
>
>
> Cos'e' il social drm?
>

DRM è il sistema di protezione dei contenuti digitali, quello di adobe
cripta i contenuti in modo che tu possa vederli solamente sui dispositivi
che hai registrato (mi pare di ricordare un massimo di tre). Il social drm
invece utilizza il sistema del watermark, praticamente viene inserito nel
flusso di dati, che in questo caso sono in chiaro e quindi liberamente
fruibili, un codice che identifica il venditore del contenuto e
l'acquirente. Quindi tu puoi usufruire dei contenuti come meglio credo, ma
se lo distribuisci possono risalire a te. Poi... mentre il drm di adobe è
relativamente semplice da rimuovere, e non rimangono tracce sul
proprietario originale, in quanto si procede in qualche modo alla copia dei
dati decriptati, più difficile è sapere come è in che punto è stato
inserito il tuo identificativo (che tu potresti anche non conoscere).
Quindi... chi acquista ha il pieno controllo del contenuto, nel senso di
riproducibilità, il prioritario dei diritti mantiene i propri diritti...

In pratica tutto questo per dire che è corretto che il lavoro venga
retribuito, ma nello stesso tempo non mi devi impedire di usufruire
liberamente quello per cui ho pagato.

gollum1
teoro, dov'è il mio tesssoro?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Carlos Catucci
2013/9/27 Gollum1 

> In pratica tutto questo per dire che è corretto che il lavoro venga
> retribuito, ma nello stesso tempo non mi devi impedire di usufruire
> liberamente quello per cui ho pagato.
>

Concordo. In effetti con il social tu puoi fare quello che ho fatto io
garantendo che il file e' tracciabile. Per cui se io uso un tuo file per
fare il furbo (ovvero rivendere il file) vengo beccato se vuoi.

Carlos
-- 
"Somos los que amasan, sin embargo no tenemos pan,
somos los que cavan el carbón, sin embargo tenemos frío
somos los que no tienen nada, y estamos viniendo a tomar el mundo."
Tassos Livaditis (Poeta greco, 1922, 1988)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] calcolare il valore in corrispondenza del massimo

2013-09-27 Per discussione Walter Valenti


>>
>>
>>se è così:
>>
>>
>>max(values, key=lambda v: functor(v)) 
>>
>>
>>ritorna il valore cercato, ergo v e non functor(v).
>>
>>
>>Dove sbaglio?
>>
>>
>
>
>Ma per giove, da nessuna parte: questo e' esattamente quello che volevo! :)
>Non avevo capito che key si puo' usare cosi' in max,
> 
>
>Se poi si cerca l'indice di v e non v, allora è un altro discorso. 
>
>
>No, io cercavo proprio v.
> 


Mi sfugge qualcosa (o non ho capito cosa vuoi ottenere)

Non basta scriverlo così?
max(values,key=func)

Walter

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


Re: [Python] Design Pattern

2013-09-27 Per discussione Gollum1
Il giorno 27/set/2013 17:25, "Carlos Catucci"  ha
scritto:
> "Somos los que amasan, sin embargo no tenemos pan,
> somos los que cavan el carbón, sin embargo tenemos frío
> somos los que no tienen nada, y estamos viniendo a tomar el mundo."
> Tassos Livaditis (Poeta greco, 1922, 1988)

Poeta greco che scrive in spagnolo? Traduci...
-- 
gollum1
teoro, dov'è il mio tesssoro?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Marco Beri
2013/9/27 Gollum1 

> Tassos Livaditis


http://ilterzoorecchio.wordpress.com/2013/08/19/tassos-livaditis/

:-)


-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Design Pattern

2013-09-27 Per discussione Marco Beri
2013/9/27 Marco Beri 

> 2013/9/27 Gollum1 
>
>> Tassos Livaditis
>
>
> http://ilterzoorecchio.wordpress.com/2013/08/19/tassos-livaditis/
>

Poeta ma anche sceneggiatore e scrittore di testi di colonne sonore:
http://www.imdb.com/name/nm0515097/

 Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python