根据列表中成员的可用性过滤元组列表

bdh*_*har 3 python tuples list-comprehension list

我想过滤一个元组列表,比如[(1,22,1),(5,1,8),(8,3,4),(7,5,6)]使用[1,7]最终会给我结果的列表[(1,22,1),(5,1,8),(7,5,6)]; 因为(8,3,4)没有1或者7它被淘汰了.

我可以为此编写一个综合功能.但是如果可能的话,我正在寻找一个简短的列表理解.

谢谢.

agf*_*agf 8

>>> tup_list = [(1,22,1),(5,1,8),(8,3,4),(7,5,6)]
>>> filter_list = [1,7]
>>> [tup for tup in tup_list if any(i in tup for i in filter_list)]
[(1, 22, 1), (5, 1, 8), (7, 5, 6)]
Run Code Online (Sandbox Code Playgroud)