如何访问范围和字符串在同一字典?



我有一个下面的字典

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

最新更新