This question already has answers here:
Hash a Range of Values
(4个答案)
3年前关闭。
我正在尝试在Python中使用字典作为切换案例的替代方法。我想在字典中使用一系列值作为键。我有类似下面的代码:
missing_ratios_dict是一本字典,其中填充了“ Age”:.199,“ Name”:0.0等对。
我想做的是,如果列的值介于0和.5之间,以将“ avg”添加到我的to_do_list中,如果介于.5和.9之间,则将“ value”添加至我的to_do_list中,否则在我的to_do_list中添加“ drop”。
当前,它的实际作用是如果值是0.0,则添加“值”,否则,则添加“丢弃”。
(4个答案)
3年前关闭。
我正在尝试在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是一本字典,其中填充了“ Age”:.199,“ Name”:0.0等对。
我想做的是,如果列的值介于0和.5之间,以将“ avg”添加到我的to_do_list中,如果介于.5和.9之间,则将“ value”添加至我的to_do_list中,否则在我的to_do_list中添加“ drop”。
当前,它的实际作用是如果值是0.0,则添加“值”,否则,则添加“丢弃”。
最佳答案
dict
不能将可哈希范围作为键。但是,您可以创建一个以tuple
形式表示范围的键,但这是没有用的,因为您不能直接调用dict.get(x)
来从键为(y1, y2)
的元组中获取值(其中y1
我建议您创建一个类似这样的函数来查找类别:
def get_type(value):
category = None
if 0 < value < 0.5:
category = "avg"
elif 0.5 <= value < 0.8:
category = "good"
return category
关于python - 在字典中使用范围作为键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40518690/
10-16 20:19