假设,我有两个数组,第二个数组的元素顺序与第一个数组相反(两个数组中的元素数量可能不同),那么 python 中是否有任何方式/方法来查找其中的集合数量两个数组,但顺序相反。
例如,
X = ['a','b','c','d'],
Y = ['a','b','d','c']
那么,结果(交集)必须为 1,因为只有 {'c','d'}
是两个数组中唯一的逆序集合。
最佳答案
创建一组 2 个元素对(使用 zip(X, X[1:])
),并从 Y 中找到这 2 个元素对的交集(按相反顺序,使用 zip(Y[1:], Y)
)
>>> X = ['a','b','c','d']
>>> Y = ['a','b','d','c']
>>> res = set(zip(X, X[1:])).intersection(zip(Y[1:], Y))
>>> res
{('c', 'd')}
>>> len(res)
1
关于python - 包含完全相反顺序的元素的两个数组的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507439/