当前位置: 首页 > 面试题库 >

Python-如何复制字典并仅编辑副本

钱言
2023-03-14
问题内容

有人可以向我解释一下吗?这对我来说毫无意义。

我将字典复制到另一个字典中,然后编辑第二个字典,并且两者都已更改。为什么会这样呢?

>>> dict1 = {"key1": "value1", "key2": "value2"}
>>> dict2 = dict1
>>> dict2
{'key2': 'value2', 'key1': 'value1'}
>>> dict2["key2"] = "WHY?!"
>>> dict1
{'key2': 'WHY?!', 'key1': 'value1'}

问题答案:

分配时dict2 = dict1,你并没有复制该文件的副本dict1,结果dict2只是该文件的另一个名称dict1。

要复制字典等可变类型,请使用copy/ deepcopycopy模块。

import copy

dict2 = copy.deepcopy(dict1)


 类似资料:
  • 我可以根据这里接受的答案访问变量。但是,我不能从控制台编辑它,即改变属性,调用函数等,这甚至可能吗? 如何从控制台更改值和属性,以便视图和所有依赖项也得到更新?

  • 我已经从PyPI安装了一个Python库。但是,我想在里面添加一些代码,并在编辑时使用它。我该怎么做?

  • 我有一个函数,可以连接到数据库,获取一些数据,并使用这些数据更改我的窗格。 我希望在后台输入查询的引用并让用户继续填写其他详细信息后运行此函数。 Java语言lang.IllegalStateException:不在FX应用程序线程上;currentThread=Thread-6 我使用了一个线程,并不断得到这个错误。 到目前为止,我发现:我发现很多人说要使用运行稍后功能。使用这个函数可以完成工作

  • 本文向大家介绍Python合并字典,包括了Python合并字典的使用技巧和注意事项,需要的朋友参考一下 示例 考虑以下字典: Python 3.5+ 如本示例所示,重复的键映射到它们的最后一个值(例如,“ Clifford”覆盖“ Nemo”)。 Python 3.3以上 使用此技术,给定键的最前值优先,而不是最后一个(“ Clifford”被抛弃,取而代之的是“ Nemo”)。 Python 2

  • 我在绘制以下值时遇到一些问题: 我所做的是 但我有一个错误: TypeError:ufunc“add”不包含签名类型与dtype匹配的循环(' 那么我已经试过了 但我还有另外一个错误: TypeError:不可损坏的类型:“列表” 我对频率感兴趣。 我该怎么做才能修好它? 从原始数据集(因为我在复制代码时遇到了一些错误): 输出: 我需要绘制每个单词中值的频率(例如,对于单词1,132和144的频

  • 如何从较大的数组中复制或引用字节片? 我只需要读取它们,但我希望指定大小以在编译时捕获错误。 错误是: 我可以看到正好是16个字节,而不是一个未知长度的切片。我如何帮助编译器看到这一点?