擅长:python、mysql、java
<p>最好在这里使用<code>dict</code>快速查找任何<code>'name'</code>:</p>
<pre><code>from collections import defaultdict
lis = [{'score': 12, 'name': 'random_content', 'numrep': 11}, {'score': 31, 'name': 'some_content', 'numrep': 10}]
dic = defaultdict(dict)
for d in lis:
for k,v in ((k,v) for k,v in d.iteritems() if k != 'name'):
dic[d['name']][k] = v
</code></pre>
<p>现在<code>dic</code>看起来像:</p>
<pre><code>defaultdict(<type 'dict'>,
{'random_content': {'score': 12, 'numrep': 11},
'some_content': {'score': 31, 'numrep': 10}
})
</code></pre>
<p>在<code>O(1)</code>时间内获得<code>'some_content'</code>的分数:</p>
<pre><code>>>> dic['some_content']['score']
31
</code></pre>