如何解决在度中心网络x值的字典中找到最大值的键的更优雅的解决方案?
{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 举报,一经查实,本站将立刻删除。