不知道如何命名這種模式,但通過例子,我認爲這更容易解釋。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