回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两个嵌套字典:</p>
<pre><code>d:
{'redFish': {'redFish': 'inf', 'blueFish': 9, 'twoFish': 10, 'oneFish': 6},
'blueFish': {'redFish': 9, 'blueFish': 'inf', 'twoFish': 11, 'oneFish': 10},
'twoFish': {'redFish': 10, 'blueFish': 11, 'twoFish': 'inf', 'oneFish': 8},
'oneFish': {'redFish': 6, 'blueFish': 10, 'twoFish': 8, 'oneFish': 'inf'}}
</code></pre>
<p>以及</p>
<pre><code>newDict:
{'blueFish': {'blueFish': None, 'twoFish': None, ('redFish', 'oneFish'): None},
'twoFish': {'blueFish': None, 'twoFish': None, ('redFish', 'oneFish'): None},
('redFish', 'oneFish'): {'blueFish': None, 'twoFish': None, ('redFish', 'oneFish'): None}}
</code></pre>
<p>对于相同的键对,我想将值从<code>d</code>传输到<code>newDict</code>。对于这些字典,这些密钥对是</p>
<pre><code>[blueFish][blueFish]
[blueFish][twoFish]
[twoFish][blueFish]
[twoFish][twoFish]
</code></pre>
<p>如果这起作用,那么<code>d</code>中这些键对的值将移动到<code>newDict</code>中的相同键对</p>
<p>我编写了这段代码来尝试这样做:</p>
<pre><code>for name1 in newDict:
for name2 in name1:
for nameA in d:
for nameB in d:
if name1 == nameA and name2 == nameB:
newDict[name1][name2] = d[nameA][nameB]
</code></pre>
<p>但是,在<code>newDict</code>中没有任何更改,因为所有键对的所有值仍然是<code>None</code>。我如何修复这个问题,为什么我的代码不能工作</p>