序列中连续值之间的差值列表

 1 readings=[1,8,3,4,9,6,7]
 2 current=readings[0]
 3 defferences=[]
 4 for next_item in readings[1:]:#注意next_item的值
 5     defferences.append(next_item-current)
 6     current=next_item
 7     print(current)
 8
 9 for i in defferences:
10     print(i)
11
12 #辅助函数
13 def with_next(iterable):
14     ‘‘‘yield(current,next_item) tuples for each item in iterable.‘‘‘
15     iterator =iter(iterable)
16     current=next(iterator)
17     for next_item in iterator:
18         yield current,next_item
19         current=next_item
20
21 differences=[]
22 for current,next_item in with_next(readings):
23     differences.append(next_item-current)
24
25 defferences2=[
26
27     (next_item-current) for current,next_item in with_next(readings)
28 ]

迭代器每迭代一次就会消耗一个元素,是一次性的。所以会得到对迭代器对象求和结果为0

http://python.jobbole.com/89181/

readings=[1,8,3,4,9,6,7]current=readings[0]defferences=[]for next_item in readings[1:]:#注意next_item的值defferences.append(next_item-current)    current=next_item    print(current)

for i in defferences:    print(i)

#辅助函数def with_next(iterable):    ‘‘‘yield(current,next_item) tuples for each item in iterable.‘‘‘iterator =iter(iterable)    current=next(iterator)    for next_item in iterator:        yield current,next_item        current=next_item

differences=[]for current,next_item in with_next(readings):    differences.append(next_item-current)

defferences2=[

(next_item-current) for current,next_item in with_next(readings)]

原文地址:https://www.cnblogs.com/qingsheng/p/9191623.html

时间: 2024-11-14 13:02:31

序列中连续值之间的差值列表的相关文章

用Scala实现集合中相邻元素间的差值

欢迎转载,转载请注明出处,徽沪一郎. 概要 代码这东西,不写肯定不行,新学Scala不久,将实际遇到的一些问题记录下来,日后也好查找. 今天讲的是如何计算同一集合中元素两两之间的差值,即求开始集合(a,b,c,d)中(b-a,c-b,d-c) 解法 val l1 = 1 to 10 toList val l2 = l1.tail l1.zip(l2).map(p=>(p._2 - p._1) 上述代码即可求出两两差值.代码含义稍作解释: tail表示一个集合中除首元素外的剩余元素,也是一个集合.

UESTC 250 数位dp(数字相位数之间的差值不小于2)

http://acm.uestc.edu.cn/#/problem/show/250 windy定义了一种windy数. 不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A B. 满足 1≤A≤B≤2000000000 . Output Sample input and output Sample Input Sample Output 1 10 9 Source Windy /*

计算数组中最大值和最小值的差值

算法一 <?php /** * 获取数组中最大值和最小值的差值 */ function getDiffVal($arr) { $max = 0; $min = 0; foreach($arr as $k=>$v) { // 赋初值 if ($k == 0) { $max = $min = $v; } // 获取最大值 if ($v > $max) { $max = $v; } // 获取最小值 if ($v < $min) { $min = $v; } } $diff = $max

小循环中每隔一组数据求取之间的差值---小程序

for(i=0;i<100;i++) { int cnt; if(cnt == 0) { firstNum[0]=x; firstNum[1]=y; firstNum[2]=z; firstNum[3]=Q4; firstNum[4]=Q5; } if(cnt == 3) { midNum[0]=x; midNum[1]=y; midNum[2]=z; midNum[3]=Q4; midNum[4]=Q5; } if(cnt == 4) { nextNum[0]=x; nextNum[1]=y;

计算两个日期之间的差值

package riqi; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class riqi_2 { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd&quo

Codeforces 475D CGCDSSQ 求序列中连续数字的GCD=K的对数

题目链接:点击打开链接 #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <iostream> #include <cmath> using namespace std; typedef long long ll; template <class T> inline bool rd(T &ret)

一维差值维护心得

一维差值维护是一种简单的小算法,该算法用一个巧妙地数列机制解决了多次对数列进行数据加减操作的复杂度,这个算法的思维偏向于动态规范.下面我们从一个问题开始入手介绍这个算法: 问题描述: 已知n个数的数列a,有m次操作,每次操作给定l,r,k三个数,使得al到ar内所有数加上k.注意l到r的区间包含al和ar两个数. 输入数据: 第一行n和m,接下来一行有n个数,表示数列a,接下来有m行,每行有三个数l,r,k,详细解释参考问题描述. 输出数据: 1行n个数,表示经过m次操作之后的数组a. 输入样例

获取两个字符串日期的差值的方法

日期的格式:“yymmddhhmmss”是一个字符串,计算两个日期之间的差值,显然就是计算两个日期之间相差的秒数,有个简洁的方法是将字符串转化为time_t格式,用time_t表示的时间(日历时间)是从一个时间点(例如:1970年1月1日0时0分0秒)到此时的秒数 我们可以看到它的定义是这样的 #ifndef _TIME_T_DEFINEDtypedef long time_t;           /* 时间值 */#define _TIME_T_DEFINED       /* 避免重复定义

九度1096:日期差值

http://ac.jobdu.com/problem.php?pid=1096 很经典的计算任意两个日期之间的差值. 方法:利用预处理,以空间换时间的方法,计算任意日期与初始日期0年1月1日之间的差值.再讲两差值求差+1即可.本题关键在预处理部分 #include<stdio.h> #define ISYEAR(x) x%100!=0&&x%4==0||x%400==0?1:0 int dayOfMonth[13][2]={     0,0,     31,31,     2