Python:从字典中获取具有最小值的键,但多个最小值

Python:从字典中获取具有最小值的键,但多个最小值,第1张

Python:从字典中获取具有最小值的键,但多个最小值

一个简单的选择是首先确定最小值,然后选择映射到该最小值的所有键:

min_value = min(d.itervalues())min_keys = [k for k in d if d[k] == min_value]

对于Python 3,请使用

d.values()
代替
d.itervalues()

这需要两次通过字典,但是无论如何应该是最快的选择之一。

使用储层采样,您可以实施单次通过方法,以随机选择其中一项:

it = d.iteritems()min_key, min_value = next(it)num_mins = 1for k, v in it:    if v < min_value:        num_mins = 1        min_key, min_value = k, v    elif v == min_value:        num_mins += 1        if random.randrange(num_mins) == 0: min_key = k

写下这段代码后,我认为该选项具有相当的理论意义……:)



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5663129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存