擅长:python、mysql、java
<p>将字符串传递给<code>filter_func_1</code>和<code>filter_func_2</code>,然后将它们与lambdas中的整数进行比较。但是当您比较数字和字符串时,比较是退化的:数字总是被认为在字符串之前(这是特定于实现的;我假设CPython行为)。所以第一个lambda总是返回<code>True</code>,第二个lambda总是返回<code>False</code>。结果,它们在你的代码中不能起到过滤器的作用。在</p>
<p>您需要将传递的字符串转换为整数或浮点,例如:</p>
<pre><code>filter_func_1 = lambda x: float(x) >= 15
</code></pre>
<p>或者在将输入传递给过滤器之前,可以先转换输入。在这两种情况下,您都应该考虑当输入无法转换为数字类型时要做什么。在</p>
<p>转换为数字类型也将消除前导<code>0</code>s。这可能有助于解决第二个问题,但无论如何,除非您对代码的这一部分进行更改,否则您将无法获得预期的结果。在</p>