我正在寻找一种方法来查找映射到给定值的字典的所有键(类似于np.where
对数组所做的操作)。例如:
dict = {'a':12, 'b':0, 'c':0}
print(where(dict, 0))
>>> ['b', 'c']
很明显,我可以使用:
[key for key in dict.keys() if dict[key]==0]
但是我想知道是否已经有一个执行此操作的Python函数。
非常感谢:)
答案 0 :(得分:1)
基本上没有内置的python函数可以执行它。
您可以使用filter
:
my_dict = {
'a': 12,
'b': 0,
'c': 0
}
print(list(filter(lambda x: my_dict[x] == 0, my_dict)))
您也可以使用numpy:
keys = np.array(list(my_dict.keys()))
values = np.array(list(my_dict.values()))
print(keys[values == 0])