猿问

对字典进行排序并返回高于阈值的一定数量值的键的理解

我已经弄清楚了我的理解并让它用于返回排序列表的键。所以我目前正在返回前 X 个具有最低值的键。我不太确定如何对此做出规定,使值高于阈值。

coin_loss_dict = {'ETH': -1.25,'BTC': -5.92,'ETC': -2.50,'OMG': -0.75}
x = -3.5
main_list = ([i[0] for i in sorted(coin_loss_dict.items(), key=lambda x:x[1], reverse=True)[:2]])

我不确定如何准确地适应它,但我希望它采用高于阈值 (x) 的 2 个值。我已经看到 >= x 在 dict.items() 之后的位置,但这似乎对我不起作用。

main_list = ([i[0] for i in sorted(coin_loss_dict.items() >= x, key=lambda x:x[1], reverse=True)[:2]])

我收到一个很好的错误,告诉我不能在 dict_items 和 float 的实例之间执行此操作。

TypeError: '>=' not supported between instances of 'dict_items' and 'float'

如果我能得到任何帮助,我将不胜感激。我知道这种理解并不是最美妙的,但它可以满足我的需要,除了我似乎无法合并的阈值。


慕妹3242003
浏览 101回答 1
1回答

LEATH

尝试这个:coin_loss_dict = {'ETH': -1.25,'BTC': -5.92,'ETC': -2.50,'OMG': -0.75} x = -3.5 main_list = ([i[0] for i in sorted(coin_loss_dict.items(), key=lambda x:x[1], reverse=True) if i[1] >= x])
随时随地看视频慕课网APP

相关分类

Python
我要回答