擅长:python、mysql、java
<p>Imo(如果我正确理解了您的问题)一个非常好的<code>defaultdict</code>用例:</p>
<pre><code>from collections import defaultdict
corp = [('h','somename'),
('h','someothername'),
('a','awholeothername'),
('a','name again'),
]
mapping = defaultdict(lambda: -1)
mapping['h'] = 1
mapping['a'] = 0
result = [(mapping[key], value) for key, value in corp]
print(result)
</code></pre>
<p>产生</p>
<pre><code>[(1, 'somename'), (1, 'someothername'), (0, 'awholeothername'), (0, 'name again')]
</code></pre>
<p>这样做的好处是,元组的第一个位置上可以有任何内容(它将产生一个<code>-1</code>)</p>