簡體   English   中英

檢查字典值字典中列表中的值是否並返回索引

[英]Check if value in list within dictionary value dict and return index

假設我有一個以 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] 等),如果是,則返回“一”或“二” ' 和鍵 'one' 或 'two' 的值的索引?

對於上面的 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM