如何通过指定上限和下限来查找字典中的键

时间:2019-03-29 12:25:37

标签: python dictionary

我有一个字典,其中的坐标为键值,而该位置的文本为值,如下所示。

dict={(310.96936089999997, 764.51895) : INTERNATIONAL UNION,
 (243.44624249999998, 510.79837879999997) : SULLIVAN & SON,
 (66.04973070000003, 430.55175) : DURATION}

我只想查找和打印在特定范围内的键值对,例如(200-550)应该返回SULLIVAN&SON。 请让我知道是否有办法实现这一目标。 预先感谢。

3 个答案:

答案 0 :(得分:3)

您可以使用字典理解来仅保留值在范围内的那些键:

{i:d[i] for i in d if i[0]>200 and i[1]<550}

输出

{(243.44624249999998, 510.79837879999997): 'SULLIVAN & SON'}

答案 1 :(得分:1)

我们喜欢python:列表理解

def find_it(dict, *args)
    return {k:v for k,v in dict.items() if (
        args[0] > k[0] > args[1] and args[2] > k[1] > args[3]
    )}

答案 2 :(得分:0)

使用简单的迭代。

例如:

d={(310.96936089999997, 764.51895) : "INTERNATIONAL UNION",
 (243.44624249999998, 510.79837879999997) : "SULLIVAN & SON",
 (66.04973070000003, 430.55175) : "DURATION"}

result = {}
for k, v in d.items():
    if 200 < k[0] and k[1] < 550:
        print(v)
        result.update({k:v})

输出:

SULLIVAN & SON