在度中心网络 x 值字典中找到最大值的键的更优雅的解决方案?

More elegant solution for finding the key for maximum value in the dictionary of degree centrality networkx values?

我有一个带有键的度中心值字典,deg_c:

{1: 0.026501766784452298,
2: 0.020318021201413426,
3: 0.03356890459363958,
4: 0.019434628975265017,
5: 0.0088339222614841,
...}

我找到了这样的最大值的关键

def f1():       
   deg_c = nx.degree_centrality(G1)
   degree_value = max([v for k,v in deg_c.items()])
   degree_node = [k for k,v in deg_c.items() if v == degree_value]
   return degree_node[0]

它returns 元组 (105, 0.0636042402826855) 中的键 105。

但是,我在这里使用了两次列表理解。我怎么能把它写成一行?一定会有更好的办法.. 谢谢。 :o)

使用最大值的键参数

max(my_dict.items(), key=lambda x: x[1])[0]

为了加快速度,您可以使用 operator.itemgetter

from operator import itemgetter

max(my_dict.items(), key=itemgetter(1))[0]