Il dizionario "a" è una struttura iterabile in python. Quando esegui il ciclo con for x in a
, esegui il looping dei tasti nel dizionario.
Nella seconda riga, la funzione massima richiede due argomenti: un oggetto iterabile (a) e una funzione "chiave" facoltativa. La funzione Key verrà utilizzata per valutare il valore degli articoli in un - il più grande dei quali verrà restituito.
Esempi:
>>> a = dict(((1,3),(0,-1),(3,21)))
>>> for x in a:
... print x #output the value of each item in our iteration
...
0
1
3
notare che solo le "chiavi" sono uscita. Quando passiamo ognuno di questi tasti per "ottenere" ...
>>> a.get(0)
-1
>>> a.get(1)
3
>>> a.get(3)
21
Otteniamo il valore per ogni chiave. Ora vedi come funziona max.
>>> b=[2, 3, 5, 6, 4]
>>> max(b)
6
>>> def inverse(x):
... return 1.0/x
...
>>> max(b, key=inverse)
2
Come si può vedere, max (di default) troverà il numero più grande nella nostra lista iterabile. Se definiamo la funzione "inversa", restituirà l'elemento più grande in b per cui inverse(item)
è il più grande.
combinare questi due elementi e vediamo che max(a, key=a.get)
sta per restituire la item
in a
per cui il valore di a.get(item)
è il più grande. cioè la chiave corrispondente al valore più grande.
Se sei veramente interessato, puoi provare a utilizzare una funzione lambda: 'max (a, key = lambda x: a [x])' – ProdigySim