我编写了一个小程序,使用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
答案 0 :(得分:4)
使用dict
理解:
{k:v for k,v in a.items() if v>0}
输出:
{'a': 1, 'e': 9}