共计 1007 个字符,预计需要花费 3 分钟才能阅读完成。
【摘要】
两个有序汇合之间可能进行一一对应的计算,比方两个汇合如何比拟大小,怎么判断汇合是否相等?如何简便快捷的解决汇合间的对位运算,这里为你全程解析,并提供 esProc 示例代码。有序汇合间的对位运算
有序汇合间的对位运算,包含比拟运算(>,<, 等于)和四则运算(+,-,*,/,%,\)。本问中探讨的汇合,都是有序汇合,有序汇合的成员是有秩序的。有序汇合间的对位运算,会依照程序应用对位成员进行比拟或者四则运算。
1. 比拟两个汇合的大小
汇合能够应用符号 “>” 或 “<” 比拟大小,从第一个成员开始依照程序比拟对位成员。例如 [1,3,1] 与 [1,2,2] 比拟大小时,首先比拟各自的第一个成员,1 与 1 相等;持续比拟各自的第二个成员,因为 3>2,所以 [1,3,1] 大于[1,2,2],无需比拟前面的成员了。
【例 1】以奥运会奖牌榜为例,查问哪几届奥运会中国奖牌榜排名比俄罗斯靠前。局部数据如下:
奥运奖牌榜的规定是:首先比照金牌数量,金牌数高的排名靠前,金牌数低的排名靠后,金牌数雷同的将会依照银牌数再次比照排名。银牌数高的排名靠前,银牌数低的排名靠后,银牌数雷同的将会依照铜牌数再次比照排名。以此类推,铜牌数也雷同的国家排名并列。
【SPL 脚本】
A5的执行后果如下:
2. 比拟两个汇合是否相等
比拟两个汇合是否相等是很常见的需要,比方比拟文件内容是否雷同,比拟数据表的数值是否发生变化等。例如比拟汇合 [1,2,3] 和 [2,1,3] 是否相等。通常来说,汇合的的对位成员不完全一致,认为两个汇合是不相等的。然而也有时候并不在意汇合的成员程序,只须要比拟两个汇合是否蕴含了同样的成员。
【例 2】上面是随机抽样后生成的文件,比拟两次随机抽样是否选出了雷同的序号。局部数据如下:
【SPL 脚本】
A3的执行后果如下:
后果为 0 示意两个文件 ID 完全一致。
如果 ID 的程序可能不同,能够应用函数 eq() 比拟两个汇合的成员是否雷同:
3. 汇合成员的对位计算
汇合成员的对位计算,反对 +,-,*,/,%, 等四则运算。例如 3 天内 A 商店的销售额汇合是 [2,3,4],B 商店的销售额汇合是 [3,1,3],咱们心愿失去两个商店的销售额之和的汇合 [5,4,7]。
【例 3】求 2019 年 12 月 24 日到 26 日深证 300 (399007) 对深证成指 (399001) 的每日绝对收益率。局部数据如下:
【SPL 脚本】
A4的执行后果如下:
《SPL CookBook》中还有更多相干计算示例。