有没有办法从其值中获取字典条目的键?

时间:2019-04-01 10:23:23

标签: python python-3.x

我编写了一个小程序,使用lambda函数过滤出字典中的所有负值。我必须再次将其写成字典,没有负值。似乎3.x标准不支持index()函数。任何有关如何编写此代码的指针都将有所帮助。

a = {'a':1,'b':-5,'c':-4,'d':-8,'e':9}
key = a.keys()
val = a.values()
l1 = list(filter(lambda x:x>0,val))
print(l1)

另一个限制是:我必须使用lambda函数。因此,不允许使用答案中所述的理解。我已经看到了可能是重复的问题:但是我尝试了其中的一个答案,

    dict(filter(lambda x,y:y>=0,a.items()))

我得到了:TypeError:()缺少1个必需的位置参数:'y

1 个答案:

答案 0 :(得分:4)

使用dict理解:

{k:v for k,v in a.items() if v>0}

输出:

{'a': 1, 'e': 9}