gpt4 book ai didi

Python-删除字典对的比例/百分比

转载 作者:行者123 更新时间:2023-11-30 22:12:45 28 4
gpt4 key购买 nike

我正在尝试构建一个工具,可以突出显示具有最高介数中心性的社交网络节点。我将所有网络节点的测量值计算到字典中,按顺序对字典进行排序,然后仅保留前 3 对。

我希望这个工具是可扩展的,所以我想保留前 10% 的对,而不是前 3 个对。我是 Python 的新手,一直无法找到如何做到这一点。请在下面找到我的代码,其中要删除的节点数由 [:3] 指定。

G = nx.Graph('data')
betweenness = dict(nx.betweenness_centrality(G))
import operator
betweenness_dict = dict(sorted(betweenness.items(), key=operator.itemgetter(1), reverse=True)[:3])

本质上,我希望 [:3] 变成 [:10%]。任何帮助将不胜感激。

最佳答案

您只需计算字典长度的 10% 即可。然后将其输入到列表切片语法中。给定一个字典d:

from operator import itemgetter

n = int(len(d) * 0.10) # floor float result, as you must use an integer
res = dict(sorted(d.items(), key=itemgetter(1), reverse=True)[:n])

关于Python-删除字典对的比例/百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51002210/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com