我有花车清单。我想找到小于b的列表的最大值
valuex_x = [1.9,1.11,1.17,1.19,2.12,2.14,2.18,2.20,3.10,3.15,3.17,3.22,5.11,5.12,]
b = input()
print(max(value_list_x, key = lambda x: x < float(b)))
因此,例如,当b = 4时,它返回1.9而不是3.22 为什么?如何解决?
答案 0 :(得分:2)
您的自定义键函数返回True
或False
,因此max()
返回其求值True
的第一个值。首先过滤列表,然后应用max()
:
valuex_x = [1.9,1.11,1.17,1.19,2.12,2.14,2.18,2.20,3.10,3.15,3.17,3.22,5.11,5.12,]
b = 4
print( max(v for v in valuex_x if v < b) )
打印:
3.22