擅长:python、mysql、java
<p>您可以先创建一个字典来快速查找ID号,然后通过列表理解将两个列表中的数据非常有效地合并在一起:</p>
<pre><code>import operator
playerinfo = [('ansonca01', 4, 1871, 1, 'RC1'),
('forceda01', 44, 1871, 1, 'WS3'),
('mathebo01', 68, 1871, 1, 'FW1')]
idmatch = [('ansonca01', 'Anson', 'Cap', '05/06/1871'),
('aaroh101', 'Aaron', 'Hank', '04/13/1954'),
('aarot101', 'Aaron', 'Tommie', '04/10/1962')]
id = operator.itemgetter(0) # To get id field.
idinfo = {id(rec): rec[1:] for rec in idmatch} # Dict for fast look-ups.
merged = [info + idinfo[id(info)] for info in playerinfo if id(info) in idinfo]
print(merged) # -> [('ansonca01', 4, 1871, 1, 'RC1', 'Anson', 'Cap', '05/06/1871')]
</code></pre>