我有一本将近100,000个(键,值)对的字典,大多数键都映射到相同的值。例如:
mydict = {'a': 1, 'c': 2, 'b': 1, 'e': 2, 'd': 3, 'h': 1, 'j': 3}
我想要做的是反转字典,以便in中的每个值mydict
都将成为的键,reverse_dict
并且将映射到所有mydict.keys()
用于映射到in中的值的列表mydict
。因此,根据以上示例,我将得到:
reversed_dict = {1: ['a', 'b', 'h'], 2: ['c', 'e'] , 3: ['d', 'j']}
我想出了一个非常昂贵的解决方案,并且我想听听比这更有效的方法的想法:
reversed_dict = {}
for value in mydict.values():
reversed_dict[value] = []
for key in mydict.keys():
if mydict[key] == value:
if key not in reversed_dict[value]:
reversed_dict[value].append(key)
使用collections.defaultdict
:
from collections import defaultdict
reversed_dict = defaultdict(list)
for key, value in mydict.items():
reversed_dict[value].append(key)
我有一个哈希图,其中一些键指向相同的值。我想找到所有相等的值并打印相应的键。 这是我拥有的当前代码: 当前代码将重复项两次添加到列表中,但它也将每个键添加一次。 谢谢。
问题内容: 我必须清理具有重复行的表: 一个可能具有多个值: 我想对整个表执行一个查询,并删除和重复的所有行。在上面的示例中,删除后,我只想剩下1、2、4和5。 问题答案: ;WITH x AS ( SELECT id, gid, url, rn = ROW_NUMBER() OVER (PARTITION BY gid, url ORDER BY id) FROM dbo.table ) SEL
问题内容: 假设我们在Django中有一个定义如下的模型: 名称字段不是唯一的,因此可以具有重复的值。我需要完成以下任务:从模型中选择具有至少一个name字段重复值的所有行。 我知道如何使用普通的SQL来做到这一点(可能不是最好的解决方案): 因此,可以使用django ORM选择它吗?还是更好的SQL解决方案? 问题答案: 尝试: 这与使用Django所获得的效果非常接近。问题在于这将返回一个w
假设我有一个具有100个值的枚举。为了简单起见,请举以下示例: 我想创建一个公共方法来将具有已知格式的字符串(如"string1","string2"…)转换为适当的枚举值CODE_1,CODE_2…通常这是通过遍历所有值来完成的,如果找到匹配项,则返回该枚举值。(详细信息可以在这个问题中找到。) 但是,我关心的是对所有值的正则化循环。这可能是一个巨大的瓶颈吗?如果不是100个元素,而是1000个
可能重复: 如何在Python中检查字符串是否为数字 Python-将字符串解析为Float或Int 例如,我想检查一个字符串,如果它不能转换为整数(使用),我如何检测它?
本文向大家介绍如何在R中创建具有重复值的向量?,包括了如何在R中创建具有重复值的向量?的使用技巧和注意事项,需要的朋友参考一下 有两种方法可以创建一个在R中具有重复值的向量,但是两种方法都有不同的方法,第一种方法是重复向量的每个元素,第二种方法将元素重复指定的次数。这两种方法都使用rep函数来创建向量。 示例 请看以下示例-