首页 新闻 会员 周边 捐助

python3 怎么取字典里最后一个 key

0
[已解决问题] 解决于 2018-11-04 16:49

d = {19: 7, 31: 6, 28: 5, 16: 5, 32: 5, 2: 4, 24: 4, 29: 4, 6: 4, 18: 4, 15: 4, 12: 4}

我是用 collections.Counter 排序的。
排序后字典中 value 是按降序的,它在我这里表示出现最少的概率,,
所以我只要最后一个 key (就是出现概率最少的 key )

o数据量也比较大,现在有几千条,以后可能会增加

还没有的主页 还没有 | 小虾三级 | 园豆:531
提问于:2018-10-29 13:27
< >
分享
最佳答案
0

不知道这个是不是你想要的。

from collections import OrderedDict

your_dict = {19: 7, 31: 6, 28: 5, 16: 5, 32: 5, 2: 4, 24: 4, 29: 4, 6: 4, 18: 4, 15: 4, 12: 4}
order_of_keys = your_dict.keys()
list_of_tuples = [(key, your_dict[key]) for key in order_of_keys]
your_dict = OrderedDict(list_of_tuples)

print(next(reversed(your_dict)))
奖励园豆:5
芽衣 | 菜鸟二级 |园豆:384 | 2018-10-29 14:03

谢谢。只是不知道,面对以后会增加的几万 或更多的数据,
处理起来效率如何

还没有 | 园豆:531 (小虾三级) | 2018-10-30 13:28
其他回答(1)
0

d = {19: 7, 31: 6, 28: 5, 16: 5, 32: 5, 2: 4, 24: 4, 29: 4, 6: 4, 18: 4, 15: 4, 12: 4}
list(d)[-1]
时间复杂度O(n)

丁壮 | 园豆:219 (菜鸟二级) | 2018-11-01 18:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册