我有以下格式的词典列表:
foo = [
{'a': 'x', 'b': 'y', 'c': 'z'},
{'a': 'j', 'c': 'z'}
]
我想将此字典列表分组为一个字典,例如:
bar = {
'a': ['x', 'j'],
'b': ['y', None],
'c': ['z', 'z']
}
我目前所做的是,遍历所有字典foo
并创建键列表,然后再次遍历该键以创建bar
。我想知道是否有更简单的方法来完成此任务。有人可以帮忙吗?
bar = {
k: [d.get(k) for d in foo]
for k in set().union(*foo)
}
谷歌的事情:
问题内容: 我有这样的词典列表: 我想采用这些并构建一个像这样的大词典: 我有什么优雅的“拉链”式方法吗? 所有的键总是一样的。 问题答案: 或者,通过dict理解:
问题内容: 我有以下两个玩具字典 我想得到一个唯一的字典,在其中我将第二个字典值堆叠在第一个字典之后,并放在相同的方括号内。 我尝试了以下代码 但是我获得的输出在每个键的列表中有两个列表,即 而我想获得 如何使用一行或两行代码来实现? 问题答案: 您几乎拥有了它,而是使用了附加两个列表的方法:
问题内容: 我正在尝试合并三个具有相同键,值列表或单个值的字典。 我需要将值中的所有项目添加到一个列表中。 我尝试了几种方法,但是大多数方法将值放入嵌套列表中。例如 我尝试通过遍历值来更新它: 但结果完全一样。我试图简单地添加列表,但是由于第三个字典只有一个浮点数,所以我做不到。 因此,我尝试首先以1和2的值添加列表,然后附加3的值。添加列表效果很好,但是当我尝试从第三个字典中添加浮点数时,突然整
问题内容: 我在这里浏览了一些问题,但这些问题似乎都不是我的问题。假设我有2个字典,它们是dict1 和字典2 我正在编写一个程序,需要将它们结合到一个字典finaldict中 非常感谢您的帮助,我一直在努力,现在已经一无所获 问题答案: 这是通用版本。即使只有键之一存在键,也可以用它来创建一个以值作为列表的字典。 输出量 如果您使用的是Python 2,则必须像这样更改for循环:
问题内容: 因此,我对以下方面的理解: 当然,问题在于,如果存在多个具有相同值的s,则它们会折叠在一起,最后一个以那个唯一的唯一成员存在。我实际上想将结果字典的值列出: 这种理解是否可能? 问题答案: 您可以将元素一一添加到默认情况下包含空列表的字典中: 您也可以执行非常相似的操作,而不必使用collections模块: 但这可以说是不太清晰。 一个等效的,更清晰的(不需要“解析”不太常见的)
键值列表 图 字典 到目前还没有讲到任何关联性数据结构,即那种可以将一个或几个值关联到一个key上。 不同语言有不同的叫法,如字典,哈希,关联数组,图,等等。 Elixir中有两种主要的关联性结构:键值列表(keyword list)和图(map)。 7.1-键值列表 在很多函数式语言中,常用二元元组的列表来表示关联性数据结构。在Elixir中也是这样。 当我们有了一个元组(不一定仅有两个元素的元