假設我有一個以 str 鍵和 dicts 作為值的字典:{'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 是否在嵌套字典中每個值列表的范圍內,即 [0.001, 0.003], [0.005, 0.007] 等),如果是,則返回“一”或“二” ' 以及鍵“一”或“二”的值的索引?對于上面的 0.0015 示例,我想返回 ['one', 0],因為這個值在 0.001 到 0.003 之間,并且這個范圍 [0.001, 0.003] 是從左到右位置的第一個。
1 回答

慕斯王
TA貢獻1864條經驗 獲得超2個贊
試一試:
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}')
輸出
one 0
添加回答
舉報
0/150
提交
取消