我需要获取字典中的所有键,其对应值高于最小值并且在给定列表中。就像是:
result = [k for k in my_dict if my_dict[k] > min_value and k in allowed_keys]
但是,可能是我对允许的键没有限制。我发现最pythonic的做法是将allowed_keys设置为None。但这会给我留下一段丑陋的代码:
if allowed_keys is None:
result = [k for k in my_dict if my_dict[k] > min_value]
else:
result = [k for k in my_dict if my_dict[k] > min_value and k in allowed_keys]
我觉得必须有一个更明智和 pythonic 的解决方案。我想过使用 lambda 函数,但我不确定。有任何想法吗?