擅长:python、mysql、java
<p>关于使用<a href="https://docs.python.org/2/library/collections.html#collections.defaultdict" rel="nofollow">^{<cd1>}</a>的Hwo:</p>
<pre><code>import csv
from collections import defaultdict
full_dictionary = defaultdict(lambda: defaultdict(list))
with open('data.csv') as f:
reader = csv.reader(f)
for rule, status, num in reader:
full_dictionary[rule][num].append(status)
print full_dictionary
</code></pre>
<p>输出:</p>
^{pr2}$
<hr/>
<p>如果您不想使用<code>defaultdict</code>,您必须关心新的密钥。在</p>
<p>例如,使用<a href="https://docs.python.org/2/library/stdtypes.html#dict.setdefault" rel="nofollow">^{<cd3>}</a>:</p>
<pre><code>import csv
full_dictionary = {}
with open('data.csv') as f:
reader = csv.reader(f)
for rule, status, num in reader:
r = full_dictionary.setdefault(rule, {})
r.setdefault(num, []).append(status)
print full_dictionary
</code></pre>
<p>输出:</p>
<pre><code>{'Rule1': {'1': ['Status1', 'Status2', 'Status3'], '2': ['Status4']},
'Rule2': {'1': ['Status2', 'Status3'], '2': ['Status1'], '3': ['Status4']}}
</code></pre>