不知道如何命名这种模式,但通过例子,我认为这更容易解释。Python - 合并与其他列表中的特定模式匹配的子列表?
比如让说我有这个名单:
lst = [1, 2, 3, 5, 6, 7, 8, 10, 11, 15]
所以现在我需要合并由一个增量变(也就是只有第一项和最后一项AR保持)列表的一部分,但只要有两个项目在这样的增量中,没有什么可以合并,因为它们都是这种模式的第一个和最后一个项目。原来名单上
merged = [(1, 3), (5, 8)]
original = [10, 11, 15]
注:
通过运行一些处理这种方法,应该就在这分开。它只有这三个项目,因为2
,6
和7
被合并(它们符合该模式)。 10
和11
只有一个增量,但只有两个数字,所以没有任何合并。而15
完全不符合任何模式。
我想在迭代中使用第一和第二项的一些比较,但算法变得复杂,我无法正确合并/分离这些项目。
P.S.
而原因是我有一个模块,生成excel报告。并且可以指定公式如何计算一些行(在Excel中)。
现在当前的功能返回特定的(当一个公式中使用单独的工作表部分)行数。因此,例如公式可能会结束如下:"sum(A1, A2, A3, A5)"
。如果有很多行,实际表达可能变得非常大。但是,如果我能通过具有相同的公式来简化它,例如"sum(A1:A3, A5)"
就不会那么大。
@UrielEli我真的没有什么工作可以展示,所以我不知道这会有多大用处,但是如果你认为这会有所帮助,我会提供一些东西。 – Andrius
它有趣的如何从问题的人http://stackoverflow.com/questions/2154249/identify-groups-of-continuous-numbers-in-a-list得到44票,我downvoted不提供任何示例代码(虽然两个问题的情况都是一样的)。这是一种双重标准吗?:) – Andrius