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}
更改了初始化,所以我的示例现在是正确的,谢谢你注意到了。谢谢,这正是我想要的。后来我做了一个更新来更改版本号。不确定这是最有效的方法,但它是有效的。非常感谢。