基本函数 类别:list
list
list:+
说明:两个列表各项相加之和组成的列表,列表长度以参数中列表长度小的为准.; 参数:lst1,lst2:数字列表
用法:(list:+ lst1 lst2)
参数:1 lst1 : 列表; 2 lst2 : 列表;
返回值:列表各项相加后的列表
示例:(list:+ '(1 2) '(3 4))
list:-
说明:两个列表各项差组成的列表,列表长度以参数中列表长度小的为准
用法:(list:- lst1 lst2)
参数:1 lst1 : 列表; 2 lst2 : 列表;
返回值:
示例:list:assoclist-additem
说明:添加关联表的元素,无替换
用法:(list:assoclist-additem lst value)
参数:1 lst : 列表; 2 value : 值;
返回值:关联表,无相同的key
示例:(list:AssocList-AddItem '((1 11) (2 22) (3 33) (4 44)) '(2 33))
list:assoclist-appenditem
说明:添加关联表的元素,替换. 同 assoc
用法:(list:assoclist-appenditem lst value)
参数:1 lst : 列表; 2 value : 值;
返回值:
示例:list:assoclist-appendlist
说明:
用法:(list:assoclist-appendlist lst value)
参数:1 lst : 列表; 2 value : 值;
返回值:
示例:list:assoclist-index
说明:根据key查找关联表的索引
用法:(list:assoclist-index lst key)
参数:1 lst : 列表; 2 key : 键,关键字;
返回值:索引,从0开始
示例:(list:AssocList-Index '((1 11) (2 22) (3 33) (4 44)) 3) ==> 2
list:assoclist-key
说明:返回关联表中key对应的value,等价于(cdr (assoc key value))
用法:(list:assoclist-key lst key)
参数:1 lst : 列表; 2 key : 键,关键字;
返回值:key对应的value
示例:(list:AssocList-Key lst key)
list:assoclist-keys
说明:返回关联表的key值表
用法:(list:assoclist-keys lst)
参数:1 lst : 列表;
返回值:
示例:list:assoclist-remove
说明:删除表中关联表匹配到key的的子表
用法:(list:assoclist-remove lst key)
参数:1 lst : 列表; 2 key : 键,关键字;
返回值:删除元素后的表
示例:(list:AssocList-Remove '((1 11) (2 22) (3 33) (4 44)) 2) ==>((1 11) (3 33) (4 44))
list:assoclist-values
说明:返回关联表的value值表
用法:(list:assoclist-values lst)
参数:1 lst : 列表;
返回值:
示例:list:change-index
说明:交换列表的m和n项,索引从0开始
用法:(list:change-index lst m n)
参数:1 lst : 列表; 2 m : 未明确定义; 3 n : 未明确定义;
返回值:
示例:list:delnotsame
说明:查找表中不重复元素。
用法:(list:delnotsame lst)
参数:1 lst : 列表;
返回值:
示例:list:delsame
说明:删除表中相同元素,保留第一次出现的位置
用法:(list:delsame lst buzz)
参数:1 lst : 列表; 2 buzz : 容差;
返回值:
示例:list:delsame-all
说明:删除表中所有重复的元素
用法:(list:delsame-all lst)
参数:1 lst : 列表;
返回值:
示例:list:dot->list
说明:点表转普通表
用法:(list:dot->list lst)
参数:1 lst : 列表;
返回值:普通表
示例:(list:dot->list '(1 2 3 . 4))
list:exist
说明:判断item是否在列表内
用法:(list:exist lst item)
参数:1 lst : 列表; 2 item : 项或项值;
返回值:存在t,反之nil
示例:(list:exist '(1 2 3 4) 3)
list:get-front-nth
说明:返回前 n 个元素
用法:(list:get-front-nth n lst)
参数:1 n : 未明确定义; 2 lst : 列表;
返回值:
示例:list:get-ubound
说明:得到表的各维数长度,最多支持到三维
用法:(list:get-ubound lst)
参数:1 lst : 列表;
返回值:
示例:list:indot->list
说明:内嵌点表的表转普通表
用法:(list:indot->list lst)
参数:1 lst : 列表;
返回值:
示例:list:insert
说明:在列表lst 的第 index 项前插入项 item。
用法:(list:insert lst index item)
参数:1 lst : 列表; 2 index : 索引值; 3 item : 项或项值;
返回值:插入项后的列表
示例:(list:insert '(0 1 2 3) 1 5)
list:insert-nth
说明:插入元素va到lst表的第n位
用法:(list:insert-nth value n lst)
参数:1 value : 值; 2 n : 未明确定义; 3 lst : 列表;
返回值:
示例:list:item-num
说明:表中元素及数量
用法:(list:item-num lst)
参数:1 lst : 列表;
返回值:
示例:list:ltrim
说明:删除表头前m项
用法:(list:ltrim lst m)
参数:1 lst : 列表; 2 m : 未明确定义;
返回值:
示例:list:move
说明:列表循环移动
用法:(list:move lst n)
参数:1 lst : 列表; 2 n : 未明确定义;
返回值:
示例:list:range
说明:生成等差数列表,类似python的range()函数.; 参数:start:起始值; end:结束值; step:等差值
用法:(list:range start end step)
参数:1 start : 未明确定义; 2 end : 单个图元; 3 step : 未明确定义;
返回值:等差数列表
示例:(list:range 1 4 1) --> (1 2 3)
list:remove-duplicates
说明:删除列表中重复的原子。
用法:(list:remove-duplicates lst)
参数:1 lst : 列表;
返回值:
示例:list:remove-front-nth
说明:删除列表中表的前n个元素
用法:(list:remove-front-nth n lst)
参数:1 n : 未明确定义; 2 lst : 列表;
返回值:
示例:list:remove-index
说明:按索引删除列表的项,leemac
用法:(list:remove-index lst index)
参数:1 lst : 列表; 2 index : 索引值;
返回值:删除索引项之后的列表
示例:(list:RemoveIndex '(0 1 2 3) 1)
list:remove-nth
说明:删除lst表的第n个元素
用法:(list:remove-nth n lst)
参数:1 n : 未明确定义; 2 lst : 列表;
返回值:
示例:list:remove-once
说明:删除表中第一个匹配到的元素
用法:(list:remove-once lst item)
参数:1 lst : 列表; 2 item : 项或项值;
返回值:删除元素后的表
示例:(list:RemoveOnce '(1 2 3 4 3) 3)
list:replace-index
说明:按索引替换列表
用法:(list:replace-index oldlst index item)
参数:1 oldlst : 未明确定义; 2 index : 索引值; 3 item : 项或项值;
返回值:替换后的列表
示例:(list:reeplace-index '(0 1 2 3) 1 5)
list:replace[m,n]
说明:按索引替换列表第m子表的第n项
用法:(list:replace[m,n] oldlst m n item)
参数:1 oldlst : 未明确定义; 2 m : 未明确定义; 3 n : 未明确定义; 4 item : 项或项值;
返回值:
示例:list:rm-m2n
说明:删除列表的第m至n项,索引值从0计算
用法:(list:rm-m2n lst m n)
参数:1 lst : 列表; 2 m : 未明确定义; 3 n : 未明确定义;
返回值:
示例:list:rtrim
说明:删除表尾m项
用法:(list:rtrim lst m)
参数:1 lst : 列表; 2 m : 未明确定义;
返回值:
示例:list:same
说明:查找表中重复元素
用法:(list:same lst)
参数:1 lst : 列表;
返回值:
示例:list:same-num
说明:表中相同元素及数量
用法:(list:same-num lst)
参数:1 lst : 列表;
返回值:
示例:list:search-index
说明:以索引查找表中元素; 参数:; lst:列表; index:索引或者索引表
用法:(list:search-index lst index)
参数:1 lst : 列表; 2 index : 索引值;
返回值:查找到的元素组成的表
示例:(list:Search-Index '(1 2 3 4) 3)
list:search-item
说明:查找表中元素的索引,索引从0开始
用法:(list:search-item lst item)
参数:1 lst : 列表; 2 item : 项或项值;
返回值:索引值表
示例:(list:search-item '(1 2 3 4) 3)
list:set-nth
说明:更新lst表的第n个元素为value
用法:(list:set-nth value n lst)
参数:1 value : 值; 2 n : 未明确定义; 3 lst : 列表;
返回值:
示例:list:split
说明:列表切分,不足部分省略,此函数返回结果相对list:split-2d、list:split-3d两个特殊函数比较合理
用法:(list:split lst x)
参数:1 lst : 列表; 2 x : 未明确定义;
返回值:
示例:list:split-2d
说明:列表按顺序切分为2元素表组成的表,不足部分用nil表示
用法:(list:split-2d lst)
参数:1 lst : 列表;
返回值:
示例:list:split-3d
说明:列表按顺序切分为3元素表组成的表,不足部分用nil表示
用法:(list:split-3d lst)
参数:1 lst : 列表;
返回值:((x x x )(x x x)...)
示例:(list:split-3d '(1 2 3 4))
list:split-index
说明:根据索引分割列表,索引从0开始
用法:(list:split-index lst index)
参数:1 lst : 列表; 2 index : 索引值;
返回值:索引前后元素组成的表,其中索引所指向的元素位于第二个子表的表头
示例:(list:split-index '(1 2 3 4) 2)
list:sublist
说明:获取子列表,leemac
用法:(list:sublist lst idx len)
参数:1 lst : 列表; 2 idx : 未明确定义; 3 len : 未明确定义;
返回值:子列表
示例:list:subst
说明:置换表中指定位置的元素
用法:(list:subst n a l)
参数:1 n : 未明确定义; 2 a : 未明确定义; 3 l : 未明确定义;
返回值:
示例:list:trim
说明:删除表头前m项,表尾前n项
用法:(list:trim lst m n)
参数:1 lst : 列表; 2 m : 未明确定义; 3 n : 未明确定义;
返回值:
示例: