我试图让单行生成器表达式在条件不为真时不执行任何操作

I am trying to get the one line generator expression to do nothing if the condition is not True

这是我的代码,我试图使用生成器表达式减去两个列表,但如果不满足条件,我无法让生成器表达式不执行任何操作。

ab=[1,2,2,3,4,5]
b=[3,4,5]
[ a if a in list(set(ab)-set(b)) else (nothing) for a in ab]

我希望生成器表达式为 return [1,2,2]

我想你想要这个(ab 中不在 b 中的项目列表)

[x for x in ab if x not in b]