擅长:python、mysql、java
<p>查看<code>dict.fromkeys</code>上的文档。返回的<code>dict</code>中的所有键共享相同的值。您需要一个使用工厂而不是值的构造函数</p>
<p>试试<code>my_dict = {i:{} for i in sides}</code></p>
<p>对于完整的解决方案,我将使用嵌套版本</p>
<pre><code>def create_dict(sides):
return {i:dict(relation={j:0 for j in sides if j!=i})
for i in sides}
</code></pre>
<p>请注意,如果顺序很重要,则上述命令仅适用于cpython3.6或更高版本,或任何符合python3.7或更高版本的命令。您可以在早期版本中使用<code>OrderedDict</code>,但它有性能损失</p>
<p>另外请注意,在默认参数中使用列表或其他可变类型通常被认为是不好的形式,因此您可能需要</p>
<pre><code>def create_dict(sides=("A", "B", "C")):
...
</code></pre>
<p>相反</p>