【问题标题】:Append Key and Value to a Key Value pair Dictionary Python将键和值附加到键值对字典 Python
【发布时间】:2016-03-06 17:52:58
【问题描述】:

我的预期目标是将键值对附加到字典内部的值:

我有以下:

crucial = {'C': {'C': 0, 'B': 1}}
done = {}
for each in crucial:
    for i in each:
        done['D'] = 0
        print(done)
        print(crucial[i].append(done))

输出是:

  Traceback (most recent call last):
  File "C:\Users\User\Documents\Programming Full-Stack\Python\Exercise Files\02 Quick Start\conditionals.py", line 13, in <module>
    print(crucial[i].append(done))
AttributeError: 'dict' object has no attribute 'append'
{'D': 0}

预期输出:

{'C': {'C': 0, 'B': 1, 'D':0}}

因此,任何人都可以向我提供将键值对附加到外部字典中的该值字段的指南吗?

尝试了不同的方法:到目前为止,我已经尝试将字典转换为将 d 声明为 [] 的列表,而不是使用 {}。我还尝试使用 .extend 而不是 .append。但在这些情况下,我都没有得到我想要的结果。

提前谢谢你

【问题讨论】:

  • 追加和扩展是列表的方法,而不是字典。
  • 在字典上使用 .update({a:b}) 而不是 .append()

标签: python


【解决方案1】:

如错误所述,dict 没有属性append。字典对象中没有append 方法。要将值分配给字典中的特定键,很简单:

d[key] = new_value

new_value 可以在哪里,如果你愿意的话:{'a':1}

如果您希望使用新数据更新您的字典,您可以使用 update 方法。

d.update(new_stuff)

在您的代码中,只需更改您的附加,类似于我提供的示例。我在这里更正了:

crucial = {'C': {'C': 0, 'B': 1}}
done = {}
for each in crucial:
    for i in each:
        done['D'] = 0
        print(done)
        crucial[i].update(done)

print(crucial)

【讨论】:

  • 非常感谢您抽出宝贵时间回答我的问题。提供的答案会删除关键列表的内容。如何将 'D': 0 包含到重要而不是替换值?
  • @NellMartin 感谢您的关注。我修好了它。试试看。让我知道它是否适合你。
  • 谢谢 idjaw!这就是答案。
【解决方案2】:

Python 有一个更新功能,可以将新项目添加到字典中

crucial .update({'D':'0'})

【讨论】:

  • @NellMartin - 这很简单,只需一条语句即可轻松地将任何项目添加到字典中。如果您对我的回答感到满意,请将其标记为已回答
  • 非常感谢。它确实帮助了我。我今天学到了一些东西!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多