将范围用作词典中的键

时间:2016-11-10 01:30:06

标签: python dictionary range equality

我尝试在Python中使用字典作为切换案例的替代方法。我想在我的字典中使用一系列值作为键。我有类似下面的代码:

dispatcher = {
    0 < col_value <= .5: "avg",
    .5 < col_value <= .9: "value",
}

for col in self.missing_ratios_dict:

    self.to_do_list[col] = dispatcher.get(self.missing_ratios_dict[col], "drop")

missing_ratios_dict是一个字典,填充了像&#34;年龄&#34; :.199,&#34;名称&#34;:0.0,依此类推。

我想要做的是,如果列的值介于0和.5之间,则添加&#34; avg&#34;到我的to_do_list,如果它在.5和.9之间添加&#34;值&#34;到我的to_do_list,否则添加&#34; drop&#34;到我的to_do_list。

目前它实际做的是添加&#34;值&#34;如果值为0.0并且&#34; drop&#34;除此以外。

1 个答案:

答案 0 :(得分:2)

dict不能将可范围范围作为关键字。但是,您可以以tuple的形式创建一个表示范围的键,但它没有用,因为您无法直接调用dict.get(x)从元组获取值为{{1}的元组}(其中y1&lt; x键检查值是否属于任何范围。

我建议您创建一个这样的函数来查找类别:

(y1, y2)