<p>采用充分考虑因素的方法:</p>
<pre><code>result = [('CN=Xxx X,OU=X,OU=X,DC=X,DC=X',
{'valueforfield1': [b'Va'], 'valueforfield2': [b'val'], 'valueforfield3': [b'+123'],
'valueforfield3': [b'65@test.com'], 'valueforfield5': [b'examplevalue']}),
('CN=Yyy Y,OU=Y,OU=Y,DC=Y,DC=Y',
{'valueforfield1': [b'Ycx'], 'valueforfield2': [b'Dy'],
'valueforfield3': [b'+321'], 'valueforfield3': [b'64@test.com'],
'valueforfield5': [b'examplevaluey']})]
def compose_user_details(data):
keys_map = {"fieldy": "valueforfield1", "fieldx": "valueforfield2",
"fieldc": "valueforfield3", "fieldv": "valueforfield4",
"fieldb": "valueforfield5", "fieldn": "valueforfield6",
}
user_details = []
for i in range(len(result)):
dataset = result[i][1] # getting the needed `data source` at once
user_details.append({k: str(dataset.get(v, None))[3:-2]
for k,v in keys_map.items()})
return user_details
print(compose_user_details(result))
</code></pre>
<p>输出:</p>
<pre><code>[{'fieldy': 'Va', 'fieldx': 'val', 'fieldc': '65@test.com', 'fieldv': '', 'fieldb': 'examplevalue', 'fieldn': ''}, {'fieldy': 'Ycx', 'fieldx': 'Dy', 'fieldc': '64@test.com', 'fieldv': '', 'fieldb': 'examplevaluey', 'fieldn': ''}]
</code></pre>