在列表理解/映射/过滤器中分配标识符

Assign identifier inside list comprehension/ mapping/ filter

我想将 lambda 表达式传递给捕获外部变量的过滤器 l。我希望 l 成为传递给过滤器的列表。假设该列表来自其他一些列表理解/映射/过滤。是否可以为该列表分配一个标识符(在本例中为 l)?像这样:

filter((lambda x : len([z for z in l if z == x]) == 1), l@[1,1,2,3,4,4,5,6,6] )

我刚刚使用了 @,因为在 Haskell 中,您可以以类似的方式使用 @

是否有一些简洁的语法,或者我是否需要将操作分成几行并以正常方式分配 l

无法给filter的第二个参数取名'on the fly'。

即使是,我认为 Python 代码应该更明确(参见“The Zen of Python”),我建议将代码分成两行或更多行。