【发布时间】:2019-02-27 14:30:40
【问题描述】:
stocks ={
'BMW':40 ,
'FB': 90 ,
'whatsapp':100,
'Apple':30
}
print("lowest stock is : " , min(stocks ,key =lambda x:stocks[x]) )
这段代码有效,但我需要知道 lambda 在这种情况下是如何工作的,我知道它接受一个参数,然后返回结果,即表达式 ,所以我的问题是这个例子中 lambda 的参数是什么 'x',这个参数是否也改变了。我的意思是 min 函数在运行时会改变它。所以当第一次调用 min 时,值是多少的 x.thanks 提前。
【问题讨论】:
-
lambda 并不是在这里施展魔法的人。 Lambda 只是一个没有名字的函数。对于传递给它的每个项目 x,它都会尝试访问该 x 的
stocks[x]。需要注意的主要是min接受一个函数作为key来评估哪个值最小。 -
无关,但你也可以只做
key=stocks.get -
max()函数的documentation的哪一部分你不明白?在您的代码中,x将是stocks字典中的项目之一。
标签: python python-3.x lambda max