<p>如果您希望字典的键是ID,值是简单列表(而不是字典),请使用defaultdict,它允许您拥有列表值。你知道吗</p>
<pre><code>import re # import regular expressions
from collections import defaultdict # use default dictionary
# your lists
combinedlist = [
['331416', 'Macromedaeus', 'distinguendus', '|', '|', 'scientific', 'name','|'],
['331417', 'Physalopteroidea', '|', '|', 'scientific', 'name', '|'],
['331418', 'Dracunculus', 'insignis', '|', '|', 'scientific', 'name', '|'],
['331419', 'Bejaria', 'sprucei', '|', '|', 'scientific', 'name', '|'],
['331420', 'Paecilomyces', 'sp.', 'JCM', '12545', '|', '|', 'scientific', 'name', '|']
]
# make a regular expression pattern for an id number that is exactly 6 digits
# this is flexible if you wanted an id number between 4 and 6 digits, use \d{4,6}
id_num = re.compile("\d{6}")
# your default dictionary which has lists as values
d = defaultdict(list)
# iterate through your combined list
for list in combinedlist:
n = len(list)
new_entry = []
# for all the entries of each list
for i in range(1, n):
new_entry.append(list[i])
d[list[0]] = new_entry
# print
for key in d.keys():
print 'key: ',key, '\n value:',d[key]
</code></pre>
<p>这是输出</p>
<pre><code>key: 331418
value: ['Dracunculus', 'insignis', '|', '|', 'scientific', 'name', '|']
key: 331419
value: ['Bejaria', 'sprucei', '|', '|', 'scientific', 'name', '|']
key: 331420
value: ['Paecilomyces', 'sp.', 'JCM', '12545', '|', '|', 'scientific', 'name', '|']
key: 331416
value: ['Macromedaeus', 'distinguendus', '|', '|', 'scientific', 'name', '|']
key: 331417
value: ['Physalopteroidea', '|', '|', 'scientific', 'name', '|']
</code></pre>