我正在尝试使用 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 是一个字典,其中填充了“年龄”:.199、“姓名”:0.0 等对。
我想要做的是,如果列的值在 0 到 .5 之间,则将“avg”添加到我的 to_do_list,如果列的值在 0.5 到 .9 之间,则将“value”添加到我的 to_do_list,否则将“drop”添加到我的待办事项列表中。
目前它实际做的是如果值为 0.0 则添加“value”,否则“drop”。
最佳答案
dict
不能将可哈希范围作为键。然而,你可以创建一个以元组形式表示范围的键,但它没有用,因为你不能直接调用 dict.get(x) 来获取元组为 (y1, y2)
的键的值(其中 y1 < x 键用于检查值是否属于任何范围。
我建议您创建一个像这样的函数来查找类别:
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/