max()lambda函数无法正常工作

2024-09-28 21:16:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张花车清单。我想找到列表的最大值,它小于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 为什么?如何修复


Tags: lambdakey列表inputvaluefloatmaxlist
1条回答
网友
1楼 · 发布于 2024-09-28 21:16:24

您的自定义键函数返回TrueFalse,因此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

相关问题 更多 >