<p>如果<code>output</code>的结构是:</p>
<pre><code>[{'Status': 'OK', 'Domain': 'localhost', 'Description': 'Account used for running the ASP.NET worker process (aspnet_wp.exe )', ..., 'Name': 'ASPNET'},
{'Status': 'Degraded', 'Domain': 'localhost', 'Description': 'Built-in account for guest access to the computer/domain', ..., 'Name': 'Guest'},
{'Status': 'OK', 'Domain': 'localhost', 'Description': 'Built-in account for administering the computer/domain', ..., 'Name': 'Admin'}]
</code></pre>
<p>我会将它迭代到一个列表字典中,由字典中的键进行键控:</p>
^{pr2}$
<p>这也可以通过两个列表理解和<code>dict</code>内置函数在一行中完成:</p>
<pre><code>new_dict = dict([(key, [old_dict[key] for old_dict in output])
for key in output[0]])
</code></pre>
<p>如果你有字典理解能力,你可以使用其中一种:</p>
<pre><code>new_dict = {key: [old_dict[key] for old_dict in output]
for key in output[0]}
</code></pre>
<p>其中的每一个都将给出一个字典,其键控方式与<code>output</code>中的每个结果字典都相同。<code>output</code>中字典中的所有值都存在于其原始字典中的键的列表中。它们是按它们在<code>output</code>中出现的顺序排列的。在</p>
<pre><code>{'Status': ['OK', 'Degraded', 'OK'],
'Domain': ['localhost', 'localhost', 'localhost'],
'Description': ['Account used for running the ASP.NET worker process (aspnet_wp.exe)',
'Built-in account for guest access to the computer/domain',
'Built-in account for administering the computer/domain'],
'InstallDate': [None, None, None],
'Caption': ['localhost\\ASPNET', 'localhost\\Guest', 'localhost\\sol2112'],
'Disabled': [False, True, False],
'PasswordChangeable': [False, False, True],
'Lockout': [False, False, False],
'AccountType': ['512', '512', '512'],
'SID': ['45474748484848-1002',
'3645747474747858-501',
'834668384636846843-500'],
'LocalAccount': [True, True, True],
'FullName': ['ASP.NET Machine Account', '', ''],
'SIDType': ['1', '1', '1'],
'PasswordRequired': [False, False, True],
'PasswordExpires': [False, False, False],
'Name': ['ASPNET', 'Guest', 'Admin']}
</code></pre>