Memorizzo i dati nel dizionario, dove la chiave è un numero intero e il valore è una tupla di numeri interi. Ho bisogno di ottenere la lunghezza dell'elemento più lungo e la sua chiave.Ottenere l'elemento più lungo in Dict
ho trovato questo per ottenere il valore massimo oltre dict:
def GetMaxFlow(flows):
maks=max(flows, key=flows.get)
return flows[maks],maks
ho cercato di modificare e come l'uso dei tasti di funzione len
, ma non ha funzionato, così ho provato qualcosa di ragionevole e semplice, ancora inefficiente:
def GetMaxFlow(flows):
Lens={}
for a in flows.iteritems():
Lens[a[0]]=len(a[1])
maks=max(Lens, key=Lens.get)
return Lens[maks],maks
Esiste un modo più elegante e coraggioso per farlo?
Non importa, questo sembra fantastico. – jterrace
bingo! questo è quello che volevo –
si potrebbe facilmente fare semplicemente 'def sorting_key (k): restituisce len (flussi [k])' quindi usare 'sorting_key' al posto di' lambda' quindi non sono sicuro dell'argomento "esiste ancora in Python "ma l'argomento che funziona sicuramente è" questo è un caso che ha molto senso per un'espressione 'lambda'" –