描述:
获取序列成员在另一个序列中的位置。
语法:
A.pos(x)
备注:
获取序列x中所有成员在另一个序列A中的位置,找不到返回空。
参数:
A |
序列 |
x |
序列 |
选项:
@i |
获取单递增数列。 |
@c |
获取序列A中连续子序列x第一次出现的位置。 |
@b |
默认A为有序序列,使用二分法查找,递增或者递减均可。 |
返回值:
数列
示例:
[6,2,1,4,6,3,7,8].pos([1,4, 6]) |
[3,4,1],获取序列[1,4,6]的成员在序列[6,2,1,4,6,3,7,8]中的第1次出现的位置组成的数列。 |
[6,2,1,4,6,3,7,8].pos([1,4, 9]) |
null,序列[1,4, 9]的成员9在序列[6,2,1,4,6,3,7,8]中找不到,所以返回结果为null。 |
[6,2,1,4,6,3,7,8].pos@i([1,4,6]) |
[3,4,5],获取序列[1,4,6]的成员在序列[6,2,1,4,6,3,7,8]中的位置组成的数列,使用@i选项,要求获取的数列为单递增数列。 |
[6,2,1,4,6,3,7,8].pos([3,6,4]) |
[6,1,4] |
[6,2,1,4,6,3,7,8].pos@i([3,6,4]) |
null,使用@i选项,由于序列[6,2,1,4,6,3,7,8]中不存在位置为单递增数列的子序列[3,6,4],所以返回结果为null。 |
[2,1,4,6,3,7,8,4,6,1].pos@c([4,6]) |
3,获取 [2,1,4,6,3,7,8,4,6,1]中连续子序列[4,6],第一次出现的位置 |
[1,2,3,4,6,7,8].pos@b([3,1,4,6]) |
[3,1,4,5],[1,2,3,4,6,7,8]为有序序列,可使用二分法查找 |
相关概念: