我有一个下面的字典
check = RangeDict({{
range(10, 100): 40,
range(110, 115): 40,
range(118, 121): 50,
range(130, 131): 50,
range(140, 141): 30
}
,我用下面的
访问值class RangeDict(dict):
def __getitem__(self, item):
if not isinstance(item, range):
for key in self:
if item in key:
return self[key]
raise KeyError(item)
else:
return super().__getitem__(item)
id = 199
print(check[id])
我需要我的字典也包括
{
range(10, 100): 40,
range(110, 115): 40,
range(118, 121): 50,
range(130, 131): 50,
range(140, 141): 30,
"a100": 110,
"c120": 100
}
如果对整数使用range并且还包括string: values,那么这是可能的吗?我如何更改函数以读取字符串
RecursionError:调用Python对象时超过最大递归深度
Just,
check = {
range(10, 100): 40,
range(110, 115): 40,
range(118, 121): 50,
range(130, 131): 50,
range(140, 141): 30,
"a100": 110,
"c120": 100
}
保存为:
{range(10, 100): 40,
range(110, 115): 40,
range(118, 121): 50,
range(130, 131): 50,
range(140, 141): 30,
'a100': 110,
'c120': 100}
然后访问,
a = check[range(10,100)]
给了:
40