remove!
语法
remove!(obj, index)
详情
删除向量或元组指定位置的元素,并直接修改原对象。
相较于 drop, pop!,
removeHead!, removeTail! 等函数,remove!
更灵活,它支持删除任意位置的元素,而其他函数仅支持删除首部或尾部的元素。
参数
obj 向量、数组向量、元组或列式元组。表示要删除元素的目标对象。
index 整型标量或向量,表示要删除的元素索引(从0开始编号)。索引范围为 [0, obj.size())。如果为向量,索引值必须严格升序。
返回值
返回删除指定元素后的对象,类型和形式同 obj。
例子
删除常规向量的指定元素。
v = 1..10
remove!(v, 2) // v 变为 [1,2,4,5,6,7,8,9,10]
// 基于上一步的结果继续执行
remove!(v, [1,3,5]) // v 变为 [1,4,6,8,9,10]
删除数组向量的指定元素。
av = array(DOUBLE[], 0, 10).append!([[1.1,2.2], [3.3,4.4,5.5], [6.6], [7.7,8.8,9.9,10.0]])
remove!(av, 1) // av 变为 [[1.1,2.2], [6.6], [7.7,8.8,9.9,10.0]]
// 基于上一步的结果继续执行
remove!(av, [0,2]) // av 变为 [[6.6]]
删除常规元组的指定元素。
tp = (1, `AAPL, 3.14, 2023.01.01)
remove!(tp, 2) // tp 变为 (1, `AAPL, 2023.01.01)
// 基于上一步的结果继续执行
remove!(tp, [0,2]) // tp 变为 (`AAPL)
删除列式元组的指定元素。
ctp = [[1,2,3], [4,5,6], [7,8], [9,2]].setColumnarTuple!()
remove!(ctp, 1)
// ctp 变为 [[1,2,3], [7,8], [9,2]]
// 基于上一步的结果继续执行,删除多个元素
remove!(ctp, [0,1])
// ctp 变为 [[9,2]]
相关函数:drop、pop!、removeHead!、removeTail!
