Python字典组合键是段范围

2024-04-26 19:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本带钥匙的字典

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

如何在不遍历整个列表的情况下有效地通过键解析值???你知道吗


Tags: if字典value文章segmentnotrangecar
2条回答

试试这个

segments={}
for i in range(0,13)    :
    segments[i] = 'Bike segment'

for i in range(22,217) :
    segments[i] = 'Car segment' 

print(segments[122])

输出

Car segment

如果将范围表示为元组字典键,则这将起作用:

segments = {(0, 13): 'Bike segment', (22, 217): 'Car segment'}

[v for k, v in segments.items() if 122 in range(*k)]

# ['Car segment']

如果您的范围不是互斥的,那么您可能会得到多个元素。如果您的输入不在其中一个范围内,您将有一个空列表。你知道吗

相关问题 更多 >