【发布时间】:2017-01-08 01:09:32
【问题描述】:
我需要在没有集合、函数或循环的情况下删除列表中的重复项 - 只能使用过滤器和 lambda 函数。
我的尝试是:
list(filter(lambda x: x in l[:].remove(x), l))
但 remove 返回已删除的项目而不是整个列表。有什么建议吗?
【问题讨论】:
-
但是为什么不设置、函数和循环呢?你没说。
-
这就是任务。这是我需要为作业构建的算法的一部分。
-
你能举个例子吗?应该将
[1, 2, 2, 3]转换为[1, 2, 3]还是要过滤掉所有条目并以[1, 3]结束? -
对于输入 [1, 2, 2, 3],我们将得到 [1, 2, 3]。
-
我认为您的支票有误。
filter()需要函数返回True以保留东西。所以你想要x not in而不是x in。
标签: python