为了账号安全,请及时绑定邮箱和手机立即绑定

检查列表中的值是否在字典值 dict 内并返回索引

检查列表中的值是否在字典值 dict 内并返回索引

慕勒3428872 2023-10-18 20:53:46
假设我有一个以 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


查看完整回答
反对 回复 2023-10-18
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信