擅长:python、mysql、java
<h2>问题</h2>
<p><code>d = (key,value)</code>是将键赋给字典中的值的错误方法。这将创建一个<em>元组</em><code>(key,value)</code>,并将其分配给<code>d</code>,覆盖它以前作为字典的存在。你知道吗</p>
<h2>最佳解决方案</h2>
<p>使用字典理解。这是明智的方法:</p>
<pre><code>result = {k: v for k,v in preschool_kids.items() if v[0] == color}
</code></pre>
<p>这将创建一个只包含所需结果的新字典。你知道吗</p>
<h2>简单的解决方案(以及在字典中分配的正确方法)</h2>
<p>最简单的方法是:</p>
<pre><code>d={}
for key,value in preschool_kids.items():
if value[0] == color:
d[key] = value # right way to assign a value to a key
print(d) # this prints the entire dictionary, and not the dictionary at each step
</code></pre>