【问题标题】:Python Duplicate Dictionary [duplicate]Python重复字典[重复]
【发布时间】:2020-06-14 11:23:22
【问题描述】:

我无法在程序中创建“重复”字典

下面是示例代码

dict1={'name':'rahul',age:30}

我需要创建一个包含两个条目的字典。

【问题讨论】:

  • “重复”是什么意思?
  • dict2 = dict(dict1)?或docs.python.org/3/library/…stackoverflow.com/questions/2465921/… 。你试过什么?
  • @sudarshang 是 age 引用字符串的变量吗?我想你可能想在“年龄”这个词周围打勾。如果您能说出您看到的错误消息是什么,也可能会有所帮助。

标签: python dictionary


【解决方案1】:

你错过了age周围的引号:

dict1={'name':'rahul', 'age':30}

【讨论】:

    【解决方案2】:

    在 Python 中,有两种创建副本的方法:

    • 浅拷贝
    • 深拷贝

    为了制作这些副本,您可以使用copy 模块。
    例如:

    import copy 
    
    dict1={'name':'rahul', 'age': 30}   
    
    # Shallow copy   
    dict2 = copy.copy(dict1)  
    
    # Deep Copy  
    dict3 = copy.deepcopy(dict1)  
    

    如果您不知道shallow copydeep copy 之间的区别,请查看这篇非常好的文章:https://docs.roguewave.com/sourcepro/11.1/html/toolsug/6-4.html

    我发现这张图片对于理解这个概念很重要:

    【讨论】:

      【解决方案3】:

      你的意思是抄字典吗? 你有两个选择:

      1. 浅拷贝

      2. 深拷贝

      检查此链接: https://thispointer.com/python-how-to-copy-a-dictionary-shallow-copy-vs-deep-copy/

      【讨论】:

        【解决方案4】:

        在python字典中,如果值是字符串,键和值都应该用双引号或单引号括起来。

        你不能像给变量赋值一样给键赋值

        例子:

        在字典中你应该指定为 'age':30

        如果 'age' 是您在字典之外声明的变量,那么您可以分配为

        年龄 = 30

        回到你的问题,你的意思是复制字典还是像这样创建一个副本

        dict1={'name':'rahul','age':30} dict2={'name':'rahul','age':30} print(dict1) print(dict2)

        如果您需要知道如何复制字典,请参阅这篇文章 https://www.science-emergence.com/Articles/How-to-copy-a-dictionary-in-python-/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-28
          • 2017-03-11
          • 2018-10-16
          • 2012-01-19
          • 2017-09-12
          • 2019-05-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多