我有一个字典,其中的坐标为键值,而该位置的文本为值,如下所示。
dict={(310.96936089999997, 764.51895) : INTERNATIONAL UNION,
(243.44624249999998, 510.79837879999997) : SULLIVAN & SON,
(66.04973070000003, 430.55175) : DURATION}
我只想查找和打印在特定范围内的键值对,例如(200-550)应该返回SULLIVAN&SON。 请让我知道是否有办法实现这一目标。 预先感谢。
答案 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