Python 检查字典值dict和返回索引中列表中的值是否为dict

Python 检查字典值dict和返回索引中列表中的值是否为dict,python,dictionary,Python,Dictionary,假设我有一个以str键和dict作为值的字典: {'one': {1: (3, [0.001, 0.003]), 2: (13, [0.005, 0.007]), 0: (4, [0.008, 0.008])}, 'two': {0: (12, [0.01, 0.016]), 1: (6, [0.03, 0.036]), 2: (1, [0.04, 0.04])}} 如何检查值0.0015是否在嵌套dict中每个值列表的范围内,即[0.001,0.003],[0.005,0.007]等),如

假设我有一个以str键和dict作为值的字典:

{'one': {1: (3, [0.001, 0.003]), 2: (13, [0.005, 0.007]), 0: (4, [0.008, 0.008])}, 
'two': {0: (12, [0.01, 0.016]), 1: (6, [0.03, 0.036]), 2: (1, [0.04, 0.04])}}
如何检查值0.0015是否在嵌套dict中每个值列表的范围内,即[0.001,0.003],[0.005,0.007]等),如果是,如何返回“一”或“二”,以及键“一”或“二”的值索引

对于上面的0.0015示例,我想返回['one',0],因为该值介于0.001和0.003之间,并且该范围[0.001,0.003]是从左到右位置的第一个范围。

尝试一下:

d = {'one': {1: (3, [0.001, 0.003]), 2: (13, [0.005, 0.007]), 0: (4, [0.008, 0.008])},
     'two': {0: (12, [0.01, 0.016]), 1: (6, [0.03, 0.036]), 2: (1, [0.04, 0.04])}}

VAL = 0.0015
for k, v in d.items():
    for idx, (k1, v1) in enumerate(v.items()):
        pair = v1[1]
        if pair[0] <= VAL <= pair[1]:
            print(f'{k} {idx}')

请用您尝试过的代码更新您的问题。使用
dict.items()
函数的简单for循环就足够了
one 0