python - 包含完全相反顺序的元素的两个数组的交集

标签 python arrays

假设,我有两个数组,第二个数组的元素顺序与第一个数组相反(两个数组中的元素数量可能不同),那么 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/

相关文章:

python - 如何使用 cProfile 模块对 python 中的每个函数进行计时?

python - 如何将滚动条附加到文本小部件?

python - 如何通过openerp_sxw2rml.py将SXW文件转换为RML文件?

python - 在 Django Rest Framework 中获取相关模型的值?

python - Django基于添加表单编辑表单?

arrays - 从类数组列表中检查 "isKind(of: )"

ruby - 比较两个数组忽略Ruby中的元素顺序

python - C 中的字符串格式化

"int array[int]"和 "int *array"之间的混淆

c# - 多维数组列排序