标签: lisp common-lisp
我想给一个数字并返回这个位置的元素。 列出 lab = (position 1 lab),我想知道在lisp上是否存在类似return lab[1]的内容。就像在C `C:\Users\username> phpunit --version 中一样。
(position 1 lab)
return lab[1]
`C:\Users\username> phpunit --version
答案 0 :(得分:14)
在Common Lisp中,获取列表第n个元素的运算符称为nth(参见manual):
nth
(nth 2 '(a b c d)) ; returns C
一个相关的运算符是nthcdr,它从第n个元素开始返回列表的其余部分:
nthcdr
(nthcdr 2 '(a b c d)) ; returns (C D)
答案 1 :(得分:5)
对于处理向量和正确列表的运算符,请参阅elt。
elt
(let ((list (list 'a 'b 'c 'd))) (prog1 list (setf (elt list 1) 1))) => (A 1 C D)