序列中連續值之間的差值列表

2021-09-29 19:32:50 字數 1056 閱讀 3660

1 readings=[1,8,3,4,9,6,7]

2 current=readings[0]

3 defferences=

4for next_item in readings[1:]:#

注意next_item的值

6 current=next_item

7print

(current)89

for i in

defferences:

10print

(i)1112#

輔助函式

13def

with_next(iterable):

14'''

yield(current,next_item) tuples for each item in iterable.

'''15 iterator =iter(iterable)

16 current=next(iterator)

17for next_item in

iterator:

18yield

current,next_item

19 current=next_item

2021 differences=

22for current,next_item in

with_next(readings):

2425 defferences2=[

2627 (next_item-current) for current,next_item in

with_next(readings)

28 ]

迭代器每迭代一次就會消耗乙個元素,是一次性的。所以會得到對迭代器物件求和結果為0

readings=[1,8

,3,4

,9,6

,7]current=readings[0]

defferences=

for next_item in readings[1:]:#

注意next_item

輔助函式

def

和為指定值的連續序列

輸入乙個整數s,列印出所有和為s的連續正整數序列 至少包含兩個數 例如,對於輸入15,由於有1 2 3 4 5 15,4 5 6 15,7 8 15,所以列印出1 5 4 6 7 8三個序列。有個比較好的做法是利用等差數列求和公式 s a n n n 1 2。這裡的a是第乙個元素,n是項數。int ...

求連續子串行的最大值

問題描述 有一串數字 可正可負的int,放在陣列num裡 要求找到起始位置start和終止位置end,使得從start位置到end位置的所有數字之和最大,返回這個最大值max。演算法思想 使用動態規劃。設 f x 為以 a x 終止且包含 a x 的最大序列的和,有 f 1 a 1 f x 1 f ...

陣列中的最長連續子串行

陣列中的最長連續子串行 給定無序陣列arr,返回其中最長的連續序列的長度 要求值連續,位置可以不連續,例如 3,4,5,6為連續的自然數 輸入描述 輸出兩行,第一行包括乙個整數n 1 n 1 05 n 1 leq n leq10 5 n 1 n 105 第二行包含n個整數,分別代表arr i 1 a...