回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图优化我的代码,我发现了关于理解。但是我正在努力学习我的代码以及如何应用字典理解。
原始代码如下。你知道吗</p>
<p>如何以一种合适的pythonic方式优化此代码?你知道吗</p>
<pre class="lang-py prettyprint-override"><code>all_users = []
for x in range(len(result)):
user = {}
user["fieldy"] = str(result[x][1].get("valueforfield1", None))[3:-2]
user["fieldx"] = str(result[x][1].get("valueforfield2", None))[3:-2]
user["fieldc"] = str(result[x][1].get("valueforfield3", None))[3:-2]
user["fieldv"] = str(result[x][1].get("valueforfield4", None))[3:-2]
user["fieldb"] = str(result[x][1].get("valueforfield5", None))[3:-2]
all_users.append(user)
</code></pre>
<p>结果示例值</p>
<pre class="lang-py prettyprint-override"><code>result = [('CN=Xxx X,OU=X,OU=X,DC=X,DC=X', {'valueforfield1': [b'Va'], 'valueforfield2': [b'val'], 'valueforfield3': [b'+123'], 'valueforfield4': [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'], 'valueforfield4': [b'64@test.com'], 'valueforfield5': [b'examplevaluey']})]
</code></pre>
<p>在执行代码之后,<code>user</code>字典在for循环的第一次迭代之后具有以下内容</p>
<pre><code>{"fieldy": "Va", "fieldx": "val", "fieldc": "+123", "fieldv": "65@test.com", "fieldb": "examplevalue"}
</code></pre>
<p>我还应该写一个函数来替换<code>user["field1"] = str(result[x][1].get("valueforfield1", None))[3:-2]</code>代码吗?值得推荐吗?
谢谢!你知道吗</p>