如何在元组列表上执行搜索

Vys*_*ysa 6 python search tuples list find

我有一个元组列表.例如,我有以下内容:

a=[('jamy', 'k'), ('Park', 'h'), ('kick', 'p'), ('an', 'o'),('an',
'o'),('an', 'o'),('an', 'r'), ('car', 'k'), ('rock', 'h'), ('pig',
'p')]
Run Code Online (Sandbox Code Playgroud)

另一个清单,

b = ['k','h','p']
Run Code Online (Sandbox Code Playgroud)

我想从列表a的第二元组元素中找到列表b中的模式.

在上面的示例中,输出应该返回,

[('jamy','Park','kick'),('car','rock','pig')]
Run Code Online (Sandbox Code Playgroud)

有人可以帮我实现目标吗?

cox*_*cox 1

c = [(a[x][0], a[x+1][0], a[x+2][0])
                        for x, _ in enumerate(a) 
                                 if a[x][1] == b[0] and 
                                    a[x+1][1] == b[1] and
                                    a[x+2][1] == b[2]]
Run Code Online (Sandbox Code Playgroud)