我有一把带钥匙的字典
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
如何通过其键有效地解决一个值而不遍历整个列表???
如果您将范围表示为元组字典键,则可以使用:
segments = {(0, 13): 'Bike segment', (22, 217): 'Car segment'}
[v for k, v in segments.items() if 122 in range(*k)]
# ['Car segment']
如果您的范围不相互排斥,则可能会获得多个元素。如果您的输入在其中一个范围中不存在,则您将有一个空列表。
试试这个
segments={}
for i in range(0,13) :
segments[i] = 'Bike segment'
for i in range(22,217) :
segments[i] = 'Car segment'
print(segments[122])
产量
汽车细分