擅长:python、mysql、java
<p>您可以使用列表理解(实际上,只是一个生成器表达式),但不能使用您的思维方式。构建<code>AM</code>和<code>PM</code>的生成器,然后使用该生成器构建<code>Counter</code>实例</p>
<pre><code>from collections import Counter
trip_counts = Counter(("AM" if trip['start'].hour < 12 else "PM")
for trip in onebike_datetimes)
</code></pre>
<hr/>
<p>一个独立的演示:</p>
<pre><code>from collections import Counter
from types import SimpleNamespace
onebike_datetimes = [
{'start': SimpleNamespace(hour=9)},
{'start': SimpleNamespace(hour=3)},
{'start': SimpleNamespace(hour=14)},
{'start': SimpleNamespace(hour=19)},
{'start': SimpleNamespace(hour=7)},
]
trip_counts = Counter(("AM" if trip['start'].hour < 12 else "PM")
for trip in onebike_datetimes)
assert trip_counts["AM"] == 3
assert trip_counts["PM"] == 2
</code></pre>