首页 > 解决方案 > Python字典选择

问题描述

我有一个字典,它的值代表一个数字范围:

{'1': [0, 11], '2': [12, 23], '3': [24, 35], '4': [36, 41], '5': [42, 47], '6': [48, 53], '7': [54, 58], '8': [59, 64], '9': [65, 70], '10': [71, None]}

如果我想搜索一个特定的值,比如说 33... 我怎样才能获得与它所包含的值范围匹配的索引?

我希望返回索引 3,因为在上面的示例中,33 包含在 keyPair 的 24 和 35 之间'3': [24, 35]

标签: python

解决方案


如果另一个 int 是您的 i 值,则更新以处理 None :

i = 33
for k, v in d.items():
    if None not in v:
        if i in range(v[0],v[1]+1):
            print(k)
    elif i in v:
        print(k)

推荐阅读