以下是代码:
a = [1,2,3,4]
b = {}
b[1] = 10
b[2] = 8
b[3] = 7
b[4] = 5
print max(a,key=lambda w: b[w])
打印出1
。
我不明白max(a,key=lambda w: b[w])
如何在这里被评估;我猜测a中的每个值,它通过
但是为什么它会打印1而不是11?或者为什么不打印10,因为那真的是最大数量?
答案 0 :(得分:9)
max(a,...)
总是会返回a
的元素。所以结果将是1,2,3或4。
对于w
中的每个值a
,键值为b[w]
。最大键值为10,对应w
等于1.因此max(a,key=lambda w: b[w])
返回1.
答案 1 :(得分:-3)
尝试:
a = [1,2,3,4]
b = {}
b[1] = 10
b[2] = 8
b[3] = 7
b[4] = 5
c = a + b.values()
print max(*c)