我有一个python字典
d = {1: 6, 2: 1, 3: 1, 4: 9, 5: 9, 6: 1}
由于上述字典中的值不是唯一的。我想将唯一值的所有键分组为一个列表,并按如下所示创建一个新字典:
v = {6:[1], 1:[2, 3, 6], 9: [4, 5]}
请注意,新字典 v 的键应排序。我发现很难形象化和实现此字典创建。请向我建议一种简单有效的方法。
collections.defaultdict轻松使用:
from collections import defaultdict
v = defaultdict(list)
for key, value in sorted(d.items()):
v[value].append(key)
但您也可以使用bog-
standard来执行此dict操作dict.setdefault():
v = {}
for key, value in sorted(d.items()):
v.setdefault(value, []).append(key)
上面 首先对 键进行排序; 稍后对输出字典的值进行排序更加麻烦且效率低下。
如果任何人 都不 需要对输出进行排序,则可以放弃sorted()呼叫并使用 集合 (输入字典中的键保证是唯一的,因此不会丢失任何信息):
v = {}
for key, value in d.items():
v.setdefault(value, set()).add(key)
生产:
{6: {1}, 1: {2, 3, 6}, 9: {4, 5}}
(对设置值的输出进行排序是一个巧合,是如何实现整数的哈希值的副作用;集合是无序结构)。
问题内容: 这个问题已经在这里有了答案 : 如何在Python中将两个列表组合成字典?[重复] (6个答案) 5年前关闭。 Python中是否有将两个列表合并成字典的 内置 函数?喜欢: 哪里: 充当包含键的列表。 充当包含值的列表 有一个名为array_combine的函数可以实现此效果。 问题答案: 似乎这样应该可以,尽管我猜这不是 一个 单一的功能: 从这里开始:如何在Python中将两个列
下图是三组相互接触的方块,每个方块都有编号。 我已经能够使用空间库ArcPy构建下面的字典,它使用平方数作为键,并使用它所触及的平方的数字列表作为值。例如,正方形1只接触正方形4,正方形4接触正方形1和6,依此类推。 从图中可以清楚地看到,有三组相互接触的正方形,所以我想要的结果是一个新的字典,其中的键是正方形的数字,值是它所属的接触组。我将使用字母命名接触组,但这些名称可以是任何名称,因此一个可
问题内容: 我该如何列出这样的词典列表。 …变成这样的单个字典: 问题答案: 这适用于任何长度的字典: 作为一个理解:
问题内容: 我只想在给定列表中创建 一行 字典。字典的键将是索引,值将是列表的元素。像这样: 输出: 关于我为什么要 一条 线,我没有任何具体要求。我只是在探索python,想知道是否有可能。 问题答案: 将产生 返回一个枚举对象。 sequence 必须是序列, 迭代器 或其他支持迭代的对象。所返回的迭代器的方法返回,其中包含一个计数(从 start开始 ,默认为0)以及从对 序列进行 迭代获得
本文向大家介绍python 将列表里的字典元素合并为一个字典实例,包括了python 将列表里的字典元素合并为一个字典实例的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧~ 返回结果: {'aa': 'aa', 'cc': 'cc', 'dd': 'dd', 'bb': 'bb'} 补充知识:python操作excel,将每行信息放在字典里,所有信息放在一个列表里
我肯定这是一个愚蠢的问题,但我找不到一个简单的方法将一个列表按另一个列表分组。我在网上搜索了很多,但我只找到了带有类属性或排序元素的示例。 我有一个带有键的字符串列表,例如: 和一个我想按键列表分组的int列表,例如: 因此结果应该是一个包含子列表的列表,如下所示: 或者也可以得到指数。提前道谢。
问题内容: 我正在尝试转换以下列表: 像这样的字典: 我尝试了其他职位的答案,但没有任何帮助。我现在有以下代码: 这给了我这个错误: 任何帮助深表感谢。谢谢。 问题答案: 您可以从内置的枚举中获取列表的索引。您只需要反转索引值映射并使用字典理解来创建字典 哦,永远不要将变量命名为内置变量或类型。
问题内容: 我想创建一个字典,其值为列表。例如: 如果我做: 我收到一个KeyError,因为d […]不是列表。在这种情况下,我可以在分配a后添加以下代码以初始化字典。 有一个更好的方法吗?可以说,直到进入第二个循环,我才知道需要的键。例如: 然后可以替代 与 处理此问题的最佳方法是什么?理想情况下,追加将“有效”。有什么方法可以表达我想要空列表的字典,即使我第一次创建列表时也不知道每个键? 问