私の研究のどれも私を助けなかったので、誰かが私を助けてくれることを願っています。私は、簡単な辞書があります。私は、新しいキー値を割り当て、キー/値ペアのそれぞれを複製していPython - FORループでネストされた辞書に正しい値が書き込まれない
mydict = {
1: {1: 'Foo'},
2: {1: 'Bar'}
}
を:
私の mydict与えるnextKey = len(mydict) + 1
for currKey in range(len(mydict)):
mydict[nextKey] = mydict[currKey + 1]
nextKey += 1
:
{
1: {1: 'Foo'},
2: {1: 'Bar'},
3: {1: 'Foo'},
4: {1: 'Bar'},
}
を
これで、既存のネストされたすべての辞書に新しいキー値のペアを追加する必要があります。それぞれのキーは、する必要があります「2」と、それぞれの値は、ネストされた各辞書のために増やす必要があります。
newValue = 1
for key in mydict:
mydict[key][2] = newValue
newValue += 1
私は期待してい:
{
1: {1: 'Foo', 2: 1},
2: {1: 'Bar', 2: 2},
3: {1: 'Foo', 2: 3},
4: {1: 'Bar', 2: 4},
}
しかし、これは私のmydictを与えています。
{
1: {1: 'Foo', 2: 3},
2: {1: 'Bar', 2: 4},
3: {1: 'Foo', 2: 3},
4: {1: 'Bar', 2: 4},
}
私は私が使用しているIDEの可視化ツールを使用していると私は、キー/値のペアを複製するループを実行した後に、それは新しいキー柱を表示されます実際にそれを含むのではなく、複製された値を参照してください。これはおそらくこれと関係していますか?
誰が助けてください/説明?
"新しいキーは複製を参照するだけです実際にそれを含んでいるのではなく、価値を持っている」うん、それは答えです。\ – Jasper