我想给一个数字并返回这个位置的元素.列出 lab = (R K K K K)我想知道(position 1 lab)在lisp上是否存在这样的东西.就像C return lab[1].
Ren*_*nzo 15
在Common Lisp中,调用获取列表第n个元素的运算符nth(参见手册):
(nth 2 '(a b c d)) ; returns C
Run Code Online (Sandbox Code Playgroud)
一个相关的运算符是nthcdr从第n个元素开始返回列表的其余部分:
(nthcdr 2 '(a b c d)) ; returns (C D)
Run Code Online (Sandbox Code Playgroud)
对于处理向量和正确列表的运算符,请参阅elt.
(let ((list (list 'a 'b 'c 'd)))
(prog1 list
(setf (elt list 1) 1)))
=> (A 1 C D)
Run Code Online (Sandbox Code Playgroud)