我已经编写了一个小程序,使用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'
OrderedDict
。 - meowgoesthedog