【发布时间】:2016-06-18 16:05:04
【问题描述】:
例如,如果在 Python 中给我一个类似 [1,1,2,2,2,3,3,5,5,5] 的列表,并且希望只删除选择连续数字分组的第一个重复,然后中断并重复/递归以从第二个分组等中删除第一个重复...我该怎么做?示例如下:
分解它:一旦代码检测到 alist[0] 和 alist[1] 中的第一对重复 ie1,1,它会删除 alist[1] 并通过跳过其余的重复来打印解决方案数子组。然后,它递归地回忆自己。这次跳过 alist[0] 和 alist[1] 遍历列表,发现 alist[2],alist[3] 有重复,删除 alist[3],爆发并重复....最终领先到四个不同的输出
alist = [1,1,2,2,2,3,3,5,5,5]
# insert code here"
>>output =
[1,2,2,2,3,3,5,5,5]
[1,1,2,2,3,3,5,5,5]
[1,1,2,2,2,3,5,5,5]
[1,1,2,2,2,3,3,5,5]
【问题讨论】:
-
看看
itertools.groupby。 -
不确定你的意思。请编辑以提供更多详细信息。
标签: python list recursion iteration