【发布时间】:2014-11-26 20:08:08
【问题描述】:
如何实现一个应用于该列表的函数给我最小的元素组,如果重复 n 次会生成该列表?
例如
a = [1,2,3,4,1,2,3,4,1,2,3,4]
foo(a)
返回 [1,2,3,4]
a = [1,1,1,1]
foo(a)
返回 [1]
a = [1,2,3,4,5,6]
foo(a)
返回 [1,2,3,4,5,6]
编辑
换句话说,这个函数需要找到细菌(参见下面的解决方案),一组元素,它们的重复会完全按原样生成列表。
重复减少函数是不够的,因为例如,[1,2,1,1] 会变成 [1,2]。
【问题讨论】:
-
foo([1,2,1])这样的东西应该返回什么? -
@Beginner:按照我的阅读方式,这不仅仅是元素的集合;例如,我相信
[1, 1, 2, 1, 1, 2]会变成[1, 1, 2],而不是[1, 2]。但是,最好让 OP 澄清一下。 -
是的,目前还不清楚。但是如果
[1,2,1]需要转换成[1,1,2],那不就是排序吗? -
@Beginner 不,这不是a duplicate
标签: python list function set reduce