以下是一个示例代码,用于生成一个按值范围交集的字典:
def get_intersection_dict(dict1, dict2):
intersection_dict = {}
for key, value in dict1.items():
if key in dict2 and isinstance(value, range) and isinstance(dict2[key], range):
intersection = list(set(value).intersection(dict2[key]))
if intersection:
intersection_dict[key] = intersection
return intersection_dict
# 示例用法
dict1 = {'a': range(1, 5), 'b': range(3, 8), 'c': range(6, 10)}
dict2 = {'a': range(2, 6), 'b': range(4, 9), 'd': range(7, 12)}
intersection_dict = get_intersection_dict(dict1, dict2)
print(intersection_dict)
输出:
{'a': [2, 3, 4], 'b': [4, 5]}
在这个示例中,我们定义了一个函数get_intersection_dict
来生成按值范围交集的字典。首先,我们创建一个空字典intersection_dict
来保存交集结果。然后,我们遍历dict1
的键值对。对于每个键值对,我们检查该键是否也存在于dict2
中,并且值的类型都是range
。如果是,则我们找到两个range
的交集,并将交集结果添加到intersection_dict
中。
最后,我们使用示例输入的两个字典进行测试,并打印输出结果。