保留原始字典:将副本与源分离
使用 Python 字典时,了解赋值不会创建副本至关重要。将一个字典分配给另一个字典(如 dict2 = dict1),将两个变量建立为指向同一字典对象的引用。因此,对任一字典的修改都会影响两者。
解决方案:显式复制
为了避免这种行为并保留原始字典,显式复制是必要的。 Python 提供了两种方法来实现此目的:
方法 1:使用 dict(dict1)
dict2 = dict(dict1)
此方法创建一个新字典,它是 dict1 的精确副本.
方法二:使用dict1.copy()
dict2 = dict1.copy()
此方法还会生成一个与 dict1 重复的新字典。
演示
为了说明参考和复制之间的区别,请考虑以下内容示例:
dict1 = {"key1": "value1", "key2": "value2"} # Copy dict1 using dict(dict1) dict2 = dict(dict1) dict2["key2"] = "WHY?!" print(dict1) # Output: {'key1': 'value1', 'key2': 'value2'} # Copy dict1 using dict1.copy() dict3 = dict1.copy() dict3["key2"] = "CHANGED!" print(dict1) # Output: {'key1': 'value1', 'key2': 'value2'}
在此示例中,dict2 和 dict3 引用不同的词典。修改任一副本都不会影响原始词典 dict1。
以上是如何创建 Python 字典的真实副本?的详细内容。更多信息请关注PHP中文网其他相关文章!