擅长:python、mysql、java
<p>所以我们有一个不可读的东西:</p>
<pre class="lang-py prettyprint-override"><code>lambda x: -1 if (x.month == 3 and x.date() in shortlongdates == True) else (1 if (x.month == 10 and x.date() in shortlongdates == True) else 0)
</code></pre>
<p>让我们把它写成一个标准函数:</p>
<pre class="lang-py prettyprint-override"><code>def filterfn(x):
if x.month == 3 and x.date() in shortlongdates:
return -1
elif x.month == 10 and x.date() in shortlongdates:
return 1
else:
return 0
</code></pre>
<p>删除一些奇怪的测试(冗余==True)和括号</p>
<p>{<cd1>}<em>真的是</em>可调用的吗?应该是<code>x.date</code>吗?
如果没有看到你的<code>data</code>和<code>listofdates</code>,就不可能说这可能会失败,但至少我们可以看到它在做什么</p>