小编Lie*_*lsa的帖子

向 lambda 函数添​​加额外的逻辑以从 python 字典中获取最小值

我有一个字典,其中的值将某些对象映射到整数;例如{节点:1,节点:2}。

我想获取与该字典中的最小值相对应的键,我知道我可以这样做:

min_key = min(my_dict, key=lambda k: my_dict[k])

但是,我还想添加一个约束,即该密钥不包含在其他集合中。这是我希望起作用的伪代码:

min_key = min(my_dict, key=lambda k: my_dict[k] where k not in my_set)

有没有一种方法可以将其作为 lambda 的一部分在 python 中编写为单行代码,或者我现在必须显式循环字典并像这样在循环中添加逻辑?

min_key, min_value = None, float('inf')
for k,v in my_dict.items():
    if v < min_value and k not in my_set:
        min_key = k
return min_key
Run Code Online (Sandbox Code Playgroud)

python lambda dictionary

2
推荐指数
1
解决办法
64
查看次数

标签 统计

dictionary ×1

lambda ×1

python ×1