擅长:python、mysql、java
<p>所以你想把<code>history</code>中的条目附加到<code>entryList</code>中,但只附加给定日期的第一个条目?你知道吗</p>
<p>我认为这是<code>not any()</code>的一个例子。你知道吗</p>
<pre><code>for entry in entryList:
if not any(day.date == entry.date for day in history):
dayEntry = dayEntry()
dayEntry.date = entry.date
history.insert(0,dayEntry)
</code></pre>
<p><code>not any(day.date == entry.date for day in history)</code></p>
<p>读作:历史上没有一天有这个条目的日期。你知道吗</p>
<p>如果允许历史是字典,其中键是条目的日期,而不是列表:</p>
<pre><code>for entry in entryList:
if entry.date not in history:
dayEntry = dayEntry()
dayEntry.date = entry.date
history[dayEntry.date] = dayEntry
</code></pre>
<p>另一种选择是将集合与两个列表一起使用:</p>
<pre><code>dates = set()
for entry in history:
dates.add(entry.date)
for entry in entryList:
if entry.date not in dates:
dayEntry = dayEntry()
dayEntry.date = entry.date
history.insert(0,dayEntry)
dates.add(entry.date)
</code></pre>