擅长:python、mysql、java
<p>您可以遍历该列表,将每个城市及其所有相关天气值分组,然后使用<code>collections.Counter</code>:</p>
<pre><code>from collections import Counter
d = [{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'}, {'New York': 'cloudy', 'Chicago': 'hailing', 'Seattle': 'sunny'}, {'New York': 'sunny', 'Chicago': 'snowy', 'Seattle': 'rainy'}, {'New York': 'hailing', 'Chicago': 'snowy', 'Seattle': 'snowy'}]
weather = {i:Counter([c[i] for c in d]).most_common(1)[0][0] for b in d for i in b}
</code></pre>
<p>输出:</p>
<pre><code>{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'}
</code></pre>
<p>编辑:假设<code>d</code>中的所有字典都包含相同的键,则只需要从列表中的第一个字典迭代后一个属性:</p>
<pre><code>weather = {i:Counter([c[i] for c in d]).most_common(1)[0][0] for i in d[0]}
</code></pre>