Python 如何复制和操作词典?

Python 如何复制和操作词典?,python,dictionary,Python,Dictionary,我正试图为我正在研究的几个纹理操作一个字典。我能够使用我制作的脚本生成这个 { "texture": { "asset": "monster", "element": "damaged", "job": "test", "maps": { "files": [ { "file": "monster/damaged/hi/bump/bump.1001.tif",

我正试图为我正在研究的几个纹理操作一个字典。我能够使用我制作的脚本生成这个

{
   "texture": {
      "asset": "monster", 
      "element": "damaged", 
      "job": "test", 
      "maps": {
         "files": [
            {
               "file": "monster/damaged/hi/bump/bump.1001.tif", 
               "md5sum": "5ff5779466612a3ec447c4d0ddc99e48"
            }, 
            {
               "file": "monster/damaged/hi/matte/matteSleeve.1002.tif", 
               "md5sum": "f383ceb943671d1bf6ac8dcfbe640fa1"
            }
         ], 
         "version": "1"
      }, 
      "resolution": "hi", 
      "when": "11:20PM"
   }
}
接下来我要做的是复制
文件
版本
,并创建这些文件的版本2

{
   "texture": {
      "asset": "monster", 
      "element": "damaged", 
      "job": "test", 
      "maps": [
          {
             "files": [
                {
                   "file": "monster/damaged/hi/bump/bump.1001.tif", 
                   "md5sum": "5ff5779466612a3ec447c4d0ddc99e48"
                }, 
                {
                   "file": "monster/damaged/hi/matte/matteSleeve.1002.tif", 
                   "md5sum": "f383ceb943671d1bf6ac8dcfbe640fa1"
                }
             ], 
             "version": "1"
          },
          {
             "files": [
                {
                   "file": "monster/damaged/hi/bump/bump.1001.tif", 
                   "md5sum": "5ff5779466612a3ec447c4d0ddc99e48"
                }, 
                {
                   "file": "monster/damaged/hi/matte/matteSleeve.1002.tif", 
                   "md5sum": "sfh4eb94367145fd6ac8dcfbe640fa1"
                }
             ], 
             "version": "2"
          }
      ],
      "resolution": "hi", 
      "when": "11:20PM"
   }
}
如何使用Python复制或复制此文件?如果您能为这一点提供一些文档,那也将非常好

谢谢

尝试使用

导入副本
dict['texture']['maps'].append(copy.deepcopy(dict['texture']['maps'][0]))
通过使用深度副本,您可以避免新词典仍然保留对旧词典的引用的问题。

您可以使用:

d1 = {"x": 1}
d2 = d1.copy()
d1["x"] = 2
print("d1 :", d1)
print("d2 :", d2)
输出:

d1 : {'x': 2}
d2 : {'x': 1}

更多信息

这是一份浅薄的副本,如果旧的副本被删除,新的副本将被更改。此外,您的示例从未将
d2['x']
设置为1,因此这是不正确的。嗯,您是对的,它只适用于深度=1,但不适用于dicts中包含的dicts。我还用
d1={“x”:1}
更改了初始化,所以我的示例现在是正确的,谢谢你注意到了。谢谢,这正是我想要的。后来我做了一个更新来更改版本号。不确定这是最有效的方法,但它是有效的。非常感谢。