擅长:python、mysql、java
<p>看来你需要把容器再深一层。下面是您的代码,并做了一些调整:</p>
<pre><code>dsub = d = {}
with open('testfile.txt') as f:
for line in f:
line = line.strip() # strip whitespace fore & aft
if not line: # ignore blank lines
continue
if ":" in line:
key, value = line.split(":", 1)
dsub[key] = value
else: # lines without colons are no long ignored: they're the outer-level keys
dsub = d[line] = {} # create a new sub-dictionary
for station, dsub in d.iteritems():
print station, dsub['kill'], dsub['dead']
</code></pre>
<p>如果你想从字典中找到一个<em>特定的</em>条目,你不必迭代整个条目来寻找它,你可以直接查找它,如上面的例子<code>dsub['dead']</code>。你知道吗</p>
<p>请注意,在字典迭代中,项以任意顺序出现。如果这是一个问题,你可以使用<code>sorted(d.iteritems())</code>或者你可以说<code>from collections import OrderedDict</code>并用它来代替普通的<code>dict</code></p>