【问题标题】:Appending Dictionary Objects within a Master Dictionary在主词典中附加词典对象
【发布时间】:2019-12-26 20:28:40
【问题描述】:

我正在尝试将多个字典对象附加到一个包含每个单独项目的主字典。

object_thing = [{'id1': 'x'}, {'id2': 'y'}]

master_dict = {}

for thing in object_thing:
  master_dict.update(thing)


print(master_dict)

我希望结果是:

{{'id1': 'x'},{'id2': 'y'}}

而不是:

{'id1': 'x', 'id2': 'y'}

还可以将单个字典对象附加到主字典吗?

【问题讨论】:

  • 您要查找的结果不是字典...它是一个集合。而且您已经在列表中找到了字典,所以真的有理由这样做吗?
  • 字典有键值对。您想要的结果{{'id1': 'x'},{'id2': 'y'}} 看起来不像字典,而是集合。但这不能是一个集合,因为它的成员、字典是不可散列的类型。
  • 以后您想如何访问这些数据?这将有助于确定存储它的最佳方式。

标签: python-3.x loops dictionary iterator


【解决方案1】:

你想要的是一个集合而不是一个字典,但是一个集合不能将字典作为元素,因为它们是不可散列的,所以要么使用带有键作为数字(或字符串,或者标识内部字典的可散列的东西)的字典):

master_dict = {}

for i, thing in enumerate(object_thing):
  master_dict[i] = thing


print(master_dict)

输出:

{0: {'id1': 'x'}, 1: {'id2': 'y'}}

或者,坚持使用列表。

【讨论】:

  • @Tomerikoo Facepalm(完全错过了)。
猜你喜欢
  • 2012-11-18
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多