python - 检查字典值字典中列表中的值是否并返回索引
问题描述
假设我有一个字典,其中 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] 是从左到右位置的第一个。
解决方案
试试看:
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
推荐阅读
- javascript - 使用 new 运算符时是否可以进行依赖注入?
- python - 如何将少量对象分配给一个用户
- python - 如何 cythonize 全局 __builtin__ 对象?
- python - Spark 替代 scipy stats norm pdf 函数
- ios - MessageKit InputBar 在 ViewController 关闭时被隐藏/删除
- angular - 检测到循环依赖中的警告
- c - 有没有办法从 if 语句中打印总步数?
- matlab - 没有轴框的Matlab图形打印
- html - 在 CSS 中省略后跨度宽度不会减小
- sql - 从带有时区列的时间戳中选择匹配日期