Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从字典中获取值,而不链接到内存位置_Python_Python 3.x_Dictionary - Fatal编程技术网

Python 从字典中获取值,而不链接到内存位置

Python 从字典中获取值,而不链接到内存位置,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,在Python 3.4中,我试图从字典中检索一个值,对其进行更改并将其用于程序中的其他地方,但我发现字典显示了以下行为: >>> D = {"A":[1,2,3]} >>> C = D["A"] >>> C.append(4) >>> D["A"] [1, 2, 3, 4] >>> F = D.get("A") >>> F.append(5) >>> D["A"] [1,

在Python 3.4中,我试图从字典中检索一个值,对其进行更改并将其用于程序中的其他地方,但我发现字典显示了以下行为:

>>> D = {"A":[1,2,3]}
>>> C = D["A"]
>>> C.append(4)
>>> D["A"]
[1, 2, 3, 4]
>>> F = D.get("A")
>>> F.append(5)
>>> D["A"]
[1, 2, 3, 4, 5]

有没有一种方法可以解决这个问题,这样我就可以将字典中的值赋给变量,而不用像这样链接它们

字典不保留对象值,只保留对对象的引用

您需要将列表的一个副本分配给另一个变量名,您可以使用
[:]
创建一个浅表副本:

>>> D = {"A":[1,2,3]}
>>> C = D["A"][:]
>>> C.append(4)
>>> D["A"]
[1, 2, 3]
或者使用
复制
模块:

>>> import copy
>>> C = copy.copy(D["A"])
>>> C.append(4)
>>> D["A"]
[1, 2, 3]

一个非常简单的解决方案是使用
[:]
在字典中复制列表,然后使用它

范例-

>>> D = {"A":[1,2,3]}
>>> C = D["A"][:]
>>> C.append(4)
>>> C
[1, 2, 3, 4]
>>> D["A"]
[1, 2, 3]

请注意,这将复制列表。

复制列表是否足够?