<p>我假设您的源结构是这样的,除了每个dict中有更多的项:</p>
<pre><code>sensors = [{'porscheLfsFixit': 0, 'porscheDiskWrite': 1786, 'porscheRaidRebuild': 384}, {'porscheLfsFixit': 0, 'porscheDiskWrite': 1786, 'porscheRaidRebuild': 9999}]
</code></pre>
<p>为了得到所有dict的所有项中具有最高值的<code>key, value</code>对,我建议使用这种方法。你知道吗</p>
<pre><code>sensor_tuples = []
for sensor in sensors:
sensor_tuples += list(sensor.items())
max_pair = max(sensor_tuples, key= lambda x: x[1])
</code></pre>
<p>首先,您将所有对放入一个列表中:</p>
<pre><code>>>> sensor_tuples
[('porscheDiskWrite', 1786), ('porscheRaidRebuild', 384), ('porscheLfsFixit', 0), ('porscheDiskWrite', 1786), ('porscheRaidRebuild', 9999), ('porscheLfsFixit', 0)]
</code></pre>
<p>然后找到最大值对:</p>
<pre><code>>>> max_pair
('porscheRaidRebuild', 9999)
</code></pre>
<p>编辑:</p>
<p>从评论中回答问题。
要获取所有dict上所有键的最大值,请首先定义一个函数以获取一个键在所有dict上的最大值:</p>
<pre><code>def get_max_for_key(alist, key):
return max(alist, key=lambda x: x[key])[key]
</code></pre>
<p>获取所有密钥:</p>
<pre><code>keys = sensors[0].keys()
</code></pre>
<p>为每个键调用函数并将结果放入dict中:</p>
<pre><code>max_dict = {}
for key in keys:
max_dict[key] = get_max_for_key(sensors, key)
</code></pre>
<p>我们开始吧:</p>
<pre><code>>>> max_dict
{'porscheRaidRebuild': 9999, 'porscheLfsFixit': 0, 'porscheDiskWrite': 1786}
</code></pre>