<p>使用另一个字典将该数据集耦合在一起,从中可以生成要查找的输出:</p>
<pre><code>def dict_counter(dict_arg):
d = {'AMER':[],'EMEA':[],'JP':[]} # Regions as keys.
for int_key in dict_arg:
sub_dict = dict_arg[int_key]
for key, value in sub_dict.items():
if value in d:
d[value].append(sub_dict['Matrix Position'])
return d
</code></pre>
<p><strong>样本输出:</strong></p>
<pre><code>>>> item_dict= {12.0: {'In Sheet': 'No', 'Paid': 'Y', 'Region': "AMER", 'Matrix Position': 'Enhance'},1232.0: {'In Sheet': 'No', 'Paid': 'Y', 'Region': "AMER", 'Matrix Position': 'Check'}, 64762.0: {'In Sheet': 'No', 'Paid': 'Y', 'Region': "AMER", 'Matrix Position': 'Check'}, 130301.0: {'Paid': 'N', 'Region': "AMER", 'Matrix Position': 'Calculate'}, 13111.0: {'In Sheet': 'Yes', 'Region': "EMEA", 'Matrix Position': 'Check'}, 130321.0: {'Matrix Position': 'Enhance','In Sheet': 'No', 'Paid': 'Y', 'Region': "JP"}}
>>> print dict_counter(item_dict)
{'JP': ['Enhance'], 'AMER': ['Check', 'Calculate'], 'EMEA': ['Check']}
</code></pre>
<p>我们现在有了<em>基础</em>来生成您要查找的报告。我们可以使用<code>Counter</code>来获得所有位置实例的计数。下面是一个如何检查<code>list</code>映射值中的计数的示例。你知道吗</p>
<pre><code>from collections import Counter
d = dict_counter(item_dict)
for k, v in d.items():
for i, j in Counter(v).items():
print k,'and',i,'=',j
>>> JP and Enhance = 1
>>> AMER and Enhance = 1
>>> AMER and Check = 2
>>> AMER and Calculate = 1
>>> EMEA and Check = 1
</code></pre>