我有一个带键的字典
segments = { (0,13):'Bike segment', (22,217):'Car segment' }
如何找到项目:122所属的正确段?
print(segments[122]) - KeyError
显然不是这样做的方式因此阅读范围,好吧,似乎是合法的:
segments = { range(0,13):'Bike segment', range(22,217):'Car segment' }
print(segments[122]) - KeyError
segments = { (if 0<= value <=13) :'Bike segment', (if 22<=value<=217):'Car segment' } # not working
如何通过密钥有效地解析一个值,而不必遍历整个列表???
答案 0 :(得分:1)
如果您将范围表示为元组字典键,则可以使用:
segments = {(0, 13): 'Bike segment', (22, 217): 'Car segment'}
[v for k, v in segments.items() if 122 in range(*k)]
# ['Car segment']
如果范围不相互排斥,则可能会有多个元素。如果您的输入在其中一个范围内不存在,则您将有一个空列表。
答案 1 :(得分:0)
试试这个
segments={}
for i in range(0,13) :
segments[i] = 'Bike segment'
for i in range(22,217) :
segments[i] = 'Car segment'
print(segments[122])
输出
汽车细分