【问题标题】:Append a list of tuples into a existing dictionary将元组列表附加到现有字典中
【发布时间】:2018-11-30 19:44:43
【问题描述】:

我有一个现有的字典,我想将一个元组列表添加到该字典中。

现有字典结构:

myD = {'key1': 123 , 'key2': 456}

元组结构列表:

myL = [('fkey1',321),('fkey2',432),('fkey3',543)]

添加元组列表后的预期字典

myD = {'key1': 123 ,'key2': 456 ,'fkey': 321 ,'fkey2': 432 ,'fkey3': 543}

如何在 python 中实现?

【问题讨论】:

标签: python


【解决方案1】:

使用简单的for loop statment

myD = {'key1': 123 , 'key2': 456}

myL = [('fkey1',321),('fkey2',432),('fkey3',543)]

for k, v in myL:
    myD[k] = v

print(myD)

或使用update

myD.update(myL)                                                                                                                                                                                              

print(myD)

输出

{'key1': 123, 'key2': 456, 'fkey1': 321, 'fkey2': 432, 'fkey3': 543}

【讨论】:

    【解决方案2】:

    只需使用dict.update

    >>> myD = {'key1': 123 , 'key2': 456}
    >>> myL = [('fkey1',321),('fkey2',432),('fkey3',543)]
    >>> 
    >>> myD.update(myL)
    >>> 
    >>> myD
    {'key2': 456, 'key1': 123, 'fkey1': 321, 'fkey2': 432, 'fkey3': 543}
    

    【讨论】:

      【解决方案3】:

      使用dict.update

      例如:

      myD = {'key1': 123 , 'key2': 456}
      myL = [('fkey1',321),('fkey2',432),('fkey3',543)]
      myD.update(myL)
      print(myD)
      

      输出:

      {'key2': 456, 'key1': 123, 'fkey1': 321, 'fkey2': 432, 'fkey3': 543}
      

      【讨论】:

      • 无需将myL 转换为字典:myD.update(myL) 可以正常工作。
      • 抱歉打错了。
      【解决方案4】:

      字典解包:

      >>> >>> myD = {'key1': 123 , 'key2': 456}
      >>> myL = [('fkey1',321),('fkey2',432),('fkey3',543)]
      >>> {**myD, **dict(myL)}
      {'key1': 123, 'key2': 456, 'fkey1': 321, 'fkey2': 432, 'fkey3': 543}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-07
        • 1970-01-01
        • 2014-06-29
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多