擅长:python、mysql、java
<p>假设您成功地提取了一个末尾没有换行符的行列表。你知道吗</p>
<pre><code>def MakeDict(lines):
return {key: (location, name) for key, location, name in (line.split() for line in lines)}
</code></pre>
<p>这是一个普通的<em>字典理解</em>,带有<em>生成器表达式</em>。前者是括号内的所有内容,后者在最后一对括号内。<code>line.split</code>以空格作为分隔符拆分一行。你知道吗</p>
<hr/>
<p>运行示例:</p>
<pre><code>>>> data = '''FFFB10 11290 Charlie
... 1A9345 37659 Delta
... 221002 93323 Omega'''
>>> lines = data.split('\n')
>>> lines
['FFFB10 11290 Charlie', '1A9345 37659 Delta', '221002 93323 Omega']
>>> def MakeDict(lines):
... return {key: (location, name) for key, location, name in (line.split() for line in lines)}
...
>>>
>>> MakeDict(lines)
{'FFFB10': ('11290', 'Charlie'), '1A9345': ('37659', 'Delta'), '221002': ('93323', 'Omega')}
</code></pre>
<hr/>
<p>如何格式化输出:</p>
<pre><code>for key, values in MakeDict(lines).items():
print("Key: {}\nLocation: {}\nName: {}".format(key, *values))
</code></pre>