查找dict值是否不成比例

时间:2018-08-29 16:42:01

标签: python

我有一个像这样的python字典:

{'0': 25, '1': 35, '10': 29, '11': 28}

键是id,值是个计数。

如何查找此字典中的值是否不成比例? 该字典将是不成比例的,因为id 29的计数186远远大于该字典中的所有其他值。

我曾经考虑过要找到平均值,然后将每个值与该平均值进行比较,但是有没有更有效,更强大的方法呢?

2 个答案:

答案 0 :(得分:4)

那就是我要做的。

values = d.values()
avg = sum(values)/len(values)
disproportionate_keys = [k for k, v in d.items() if abs(v - avg) > some_threshold]

代码本身很简单;唯一真正的问题是“不成比例的”到底是什么意思?在这里,我简单检查一下它是否与平均值相距一定距离。

答案 1 :(得分:0)

array1 = ["a","b","c","d","e","f"]
array2 = ["a","b","d","f"]
array3 = ["g","h"]

j=0;

for (i=0 ; i < array1.length ;i++){
    if (array2[i]!==array1[i])
        {
        array2.splice(i,0, array3[j]);
        j++;
        }
}

console.log(array2);`

对于阈值= 20:{'29':186}

您可以设置任何正阈值。它将为您提供离群的key:value对。我希望这就是您所需要的。