実行したいクエリのタイプを擬似コードで記述します。
select blob from blobs where blob['color'] == 'red' having maximum(blob['size'])
明らかに、Python で次のように書くことができます。
redBlobs = [];
for blob in blobs:
if blob['color'] == 'red':
redBlobs.append('blob')
largestBlob = None
for redBlob in redBlobs:
if largestBlob == None or redBlob['size'] > largestBlob['size']:
largestBlob = redBlob
return largestBlob
しかし、私はそれを行うよりクリーンな方法があると思います。私はPythonに慣れていないので、まだ非常に命令的に近づいています。
編集:
SOに関する他のいくつかの質問を見て、私が思いついた解決策は次のとおりです。
max([blob for blob in blobs if blob['color'] == 'red'], key = lambda b: b['size'])
おそらく、もっと良い方法があります。