首页 > 解决方案 > 有没有办法从它的值中获取字典条目的键?

问题描述

我编写了一个小程序,使用 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: () missing 1 required positional argument: 'y

标签: pythonpython-3.x

解决方案


使用dict理解:

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

输出:

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

推荐阅读