擅长:python、mysql、java
<p>在构建JSON时将字段设置为0可能是最有效的方法,但可以说不是最优雅和明确的方法</p>
<p>您可以定义一个用作键的函数,如下所示:</p>
<pre><code>...
elif sortparam == 'Price':
def keyparam (s):
text = s['Price'].replace(',', '')
try:
return int(text)
except ValueError as e:
return 0
...
</code></pre>
<p>或者,如果您想继续使用lambdas:</p>
<pre><code>elif sortparam == 'Price':
keyparams = lambda s: int(s['Price'].replace(',', '')) if s['Price'].replace(',', '').replace('-', '').isdigit() else 0
</code></pre>
<p>或者,如果您知道只有一个值不是数字:</p>
<pre><code>elif sortparam == 'Price':
keyparams = lambda s: 0 if s['Price'] == 'Call for Price' else int(s['Price'].replace(',', ''))
</code></pre>