Return key with highest value

  • A+
Category:Languages

I have the following graph:

graph = {0 : {5:6, 4:8}, 1 : {4:11}, 2 : {3: 9, 0:12}, 3 : {}, 4 : {5:3}, 5 : {2: 7, 3:4}} 

I am trying to return the key that has the highest value in this graph. The expected output in this case would be 2 as key 2 has the highest value of 12.

Any help on how I can achieve this would be greatly appreciated.

 


Find the key whose maximum value is maximal:

max((k for k in graph), key=lambda k: max(graph[k].values(), default=float("-inf"))) 

The empty elements are disqualified by the ridiculous maximum. Alternately, you can just pre-filter such keys:

max((k for k in graph if graph[k]), key=lambda k: max(graph[k].values())) 

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: