如何从包含公共数字对(序列)的其他两个数组创建一个数组?

Łuk*_*tak 0 python

a = [1,2,3,4,5,6,8]
b = [6,8,9,4,5,3,2,1]
Run Code Online (Sandbox Code Playgroud)

最后的结果应该是

c = [6,8,4,5] 
Run Code Online (Sandbox Code Playgroud)

这个数组在两个数组中都包含相同的数字对 - 如何在python中编写这种代码?

我只知道如何创建具有重复值的数组

a = [1,2,3,4,5,6,8]
b = [6,8,9,4,5,3,2,1]
c = [x for x in a if x in b]
print (c)
Run Code Online (Sandbox Code Playgroud)

Sun*_*tha 5

>>> [e for t in [t for t in zip(b,b[1:]) if t in zip(a,a[1:])] for e in t]
[6, 8, 4, 5]
Run Code Online (Sandbox Code Playgroud)

  • @NickA.OP在标题中提到了"重复的数字对":) (2认同)