GorgeDalas
GorgeDalas
2020-10-12 00:41
采纳率: 100%
浏览 287

python 字典操作:将变量赋值到字典内后,在字典外修改变量会影响字典内变量的值,如何消除这一影响,如下:

描述:

a = {'0':0,'1':1}
b = {'0':0, '1':1}
c = {'0':a, '1':b}

a[0] = 1111

这时c[0]就会变成1111, 由于给a[0]修改的缘故。
但是有时候在复杂的代码中a只是一个中间变量,每一次循环都会改变a的值,我需要将每一个a的值都放到字典c中。

<---------------->

提问:请问有什么操作既能保留c[0]是以变量a存储的,同时在后续改变a时不会影响到c?

非常感谢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_39412061
    吃鸡王者 2020-10-12 09:10
    已采纳

    c = {'0':a.copy(), '1':b} 这样写

    如果a中含有列表或词典,可以使用

    import copy
    c = {'0':copy.deepcopy(a), '1':b}

    点赞 评论
  • qqzhuimengren
    PythonJavaC++go 2020-10-12 11:15

    你这个涉及到python的深浅拷贝问题。
    但你的描述和示例有点混乱,不是很清楚

    点赞 评论

相关推荐