<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 08/19/2013 03:04 PM, Massimo Capanni
wrote:<br>
</div>
<blockquote
cite="mid:CAM99KwfV86v-EtuO_52upDDkWjYd97CDoeKSxBFckpSJ7dBgLg@mail.gmail.com"
type="cite">
<div class="gmail_default" style="font-family:'times new
roman',serif;font-size:large"><br>
</div>
<div class="gmail_default" style="font-family:'times new
roman',serif;font-size:large">Mi sono scritto così una funzione
per calcolare il valore massimo in un dizionario (forse ci sono
altri metodi, ma al momento ho reinventato la ruota per
esercizio ...)</div>
<div class="gmail_default" style="font-family:'times new
roman',serif;font-size:large"><br>
</div>
<div class="gmail_default">
<div class="gmail_default"><font face="times new roman, serif"
size="4">def max_dict(d):</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"> v_max = 0</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"> k_max = 0</font></div>
<div class="gmail_default">
<font face="times new roman, serif" size="4"> for i in
d.keys():</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"> if d[i] > v_max:</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"> v_max = d[i]</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"> k_max = i</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"> return k_max, v_max</font></div>
</div>
</blockquote>
<br>
Puoi semplicemente usare max():<br>
<br>
>>> d = {1: 'uno', 3: 'tre', 2: 'due', 8: 'otto'}<br>
>>> max(d), d[max(d)]<br>
(8, 'otto')<br>
<br>
Se non sono numeri ma stringhe che rappresentano numeri, usa ancora
max(), passando il tipo come chiave<br>
di conversione:<br>
<br>
>>> d = {'1.22': 'uno.22', '10.33': 'dieci.33', '9.0':
'nove.0'}<br>
>>> max(d)<br>
'9.0'<br>
>>> max(d, key=float)<br>
'10.33'<br>
<br>
Se ti serve un criterio di confronto diverso, puoi usare ancora
max():<br>
<br>
>>> max(d, key=lambda seq: seq[-2])<br>
'10.33'<br>
<br>
<blockquote
cite="mid:CAM99KwfV86v-EtuO_52upDDkWjYd97CDoeKSxBFckpSJ7dBgLg@mail.gmail.com"
type="cite">
<div class="gmail_default">
<div class="gmail_default"><font face="times new roman, serif"
size="4"><br>
</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4">Purtroppo mi sono reso conto che dopo
l'elaborazione dei dati nella funzione max_dict(), i valori
relativi alla data e ora sono completamente sballati, come
se max_dict() operasse qualche modifica.</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"><br>
</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4">Così invece di ottenere data e ora di oggi ottengo:</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"><br>
</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4">
<div class="gmail_default">2003115192256 1018.6 MB</div>
<div class="gmail_default">
2003115192256 1018.6 MB</div>
<div class="gmail_default">2003115192256 1018.6 MB</div>
<div class="gmail_default">2003115192256 1018.6 MB</div>
<div class="gmail_default">2003115192256 1018.6 MB</div>
<div class="gmail_default">
200311785544 1018.7 MB</div>
<div class="gmail_default">200311785544 1018.7 MB</div>
<div class="gmail_default">2006730161944 1.1 GB</div>
<div class="gmail_default">2006730161944 1.1 GB</div>
</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4"><br>
</font></div>
<div class="gmail_default"><font face="times new roman, serif"
size="4">Dove sto sbagliando secondo voi?</font></div>
</div>
</blockquote>
<br>
Non mi pare il problema sia in max_dict(), se non per cio' che ti
hanno gia' detto. Puoi postare il resto del codice?<br>
<br>
<pre class="moz-signature" cols="72">--
Marco Buttu
INAF Osservatorio Astronomico di Cagliari
Loc. Poggio dei Pini, Strada 54 - 09012 Capoterra (CA) - Italy
Phone: +39 070 71180255
Email: <a class="moz-txt-link-abbreviated" href="mailto:mbuttu@oa-cagliari.inaf.it">mbuttu@oa-cagliari.inaf.it</a></pre>
</body>
</html>