ディクショナリからベクトルを再利用しようとしていますが、ベクトルをプルして名前を変更しても、Python はディクショナリを変更します。この問題に関するアイデア。これが私のコードです:
# Set up dictionary
d = {'id 1':[20,15,30]}
d['id 2'] = [5,10,50]
# Pull a vector from the dictionary and decrease the first entry in the vector
vector = d['id 2']
vector[0] = vector[0] - 1
print vector
# Pull the same vector from the dictionary (This is where I want the original vector)
vector2 = d['id 2']
vector2[0] = vector2[0] - 1
print vector2
私が
print vector
# => [4, 10, 50]
私が
print vector2
# => [3, 10, 50]
vector2
元に再割り当てしないのはなぜ[5,10,50]
vector
ですか? 私はこれらの両方が私に与えることを望んでいます[4,10,50]
が、2番目のものは私に与えます[3,10,50]
。