编辑:已解决
我通过创建字典a
和b
解决了这个问题,其中键是元组(x,y)
,我的值是整数t
。然后我将我的键作为集合返回,进行内置的intersection
操作,然后获取所有相交点(x,y)
的值。
a{(x,y): t, ...}
b{(x,y): t, ...}
c = set([*a]).intersection(set([*b]))
for each in c:
val_a = a.get(each)
val_b = b.get(each)
原问题
我有两组元组,每个元组的形式为
a = {(x,y,t), (x,y,t), ...}
b = {(x,y,t), (x,y,t), ...}
我想找到
a
和b
的“交集”,同时忽略元组中的t
元素。例如:
a = {(1,2,5), (4,6,7)}
b = {(1,2,7), (5,5,3)}
c = a.magicintersection(b,'ignore-last-element-of-tuple-magic-keyword')
其中c
表示期望输出结果,将会得到{(1,2,5),(1,2,7)}
。
我想利用内置的intersection
函数,而不是编写自己的(极其低效)函数,但我找不到解决此问题的方法。