我有数组字典,如下所示:
y_dict= {1: np.array([5, 124, 169, 111, 122, 184]),
2: np.array([1, 2, 3, 4, 5, 6, 111, 184]),
3: np.array([169, 5, 111, 152]),
4: np.array([0, 567, 5, 78, 90, 111]),
5: np.array([]),
6: np.array([])}
我需要在我的字典中找到数组的拦截:y_dict
。
作为第一步,我从空数组中清除了字典,就像
dic = {i:j for i,j in y_dict.items() if np.array(j).size != 0}
So, dic
有以下观点:
dic = { 1: np.array([5, 124, 169, 111, 122, 184]),
2: np.array([1, 2, 3, 4, 5, 6, 111, 184]),
3: np.array([169, 5, 111, 152]),
4: np.array([0, 567, 5, 78, 90, 111])}
为了找到拦截,我尝试使用元组方法,如下所示:
result_dic = list(set.intersection(*({tuple(p) for p in v} for v in dic.values())))
实际结果是空列表:[]
;
预期结果应该是:[5, 111]
你能帮我找到字典中数组的交集吗?谢谢