微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有一个带有键度中心值的字典,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]

它从元组 (105,0.0636042402826855) 中返回键 105。

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

解决方法

使用 max 的关键参数。

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

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

from operator import itemgetter

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。