擅长:python、mysql、java
<p>有两种方法可以达到你的目的</p>
<p>您打算使用dict1.items()的方式。不幸的是,这种方法计算速度很慢,因此为了完整性,我将添加更有效的方法:</p>
<pre><code># First, convert the dict to a different representation:
from itertools import chain, repeat
# Change {k: [v1,v2], k2: [v3,v4]} to {v1: k, v2: k, v3: k2, v4: k2}
name_to_adjective = dict(chain.from_iterable(zip(v, repeat(k)) for k, v in a.items()))
</code></pre>
<p>名称到形容词现在等于:</p>
<pre><code>{'ALEX': 'GOOD',
'BILL': 'GOOD',
'CARL': 'NICE',
'JEN': 'GOOD',
'KEVIN': 'BAD',
'LAURA': 'NICE',
'LOUIS': 'BAD',
'MAIK': 'NICE',
'MARTH': 'NICE',
'SAM': 'NICE',
'TOM': 'BAD'}
</code></pre>
<p>然后,您可以在一次运行中获得结果:</p>
<pre><code>result = [name_to_adjective[name] for name in list1]
</code></pre>