[Python] calcolare il valore in corrispondenza del massimo
Manlio Perillo
manlio.perillo a gmail.com
Ven 27 Set 2013 14:06:37 CEST
-----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-----
Maggiori informazioni sulla lista
Python