3 回答

TA貢獻1906條經驗 獲得超10個贊
def get_nearest_less_element(d, k): return min(key for key, value in d.items() if float(value) >= k)

TA貢獻1809條經驗 獲得超8個贊
不是用 迭代值,而是迭代產生對dict.values()的鍵和值。dict.items()(key, value)
def get_nearest_less_element(d, k):
return min(key for key, value in d.items() if float(value) >= k)

TA貢獻1876條經驗 獲得超6個贊
如果 key 是你想要的:
def get_nearest_less_element(dict_obj, threshold):
min_value, min_key = min(
((value, key) for key, value in dict_obj.items() if float(value) < threshold),
key=lambda value_key: float(value_key[0])
)
print('min_value =', min_value, ', min_key =', min_key)
return min_key
基本上,我所做的與@MrRobot9 類似,但我(value, key)根據值對配對進行了排序。請注意,因為我將值放在鍵之前,所以排序將基于值,不需要key=部分,但我只是把它放在那里更明確。
添加回答
舉報