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

时间:2018-03-02 11:13:24

标签: python list-comprehension identifier

我想将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

1 个答案:

答案 0 :(得分:1)

不可能动态地给出一个名字&#39;到files <- list.files(path = path, pattern = "\\.rds$", full.names = TRUE) stack <- do.call("rbind", lapply(files, readRDS)) 的第二个参数。

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