2012-11-18 32 views
-2

如何从列表中创建一个列表,我可以真正使用什么功能我一直在想使用mapcar or maplist with cons在一起,但我没有得到任何有成效的结果,可以说我有一个list (a b)然后我想要一个函数这将创建一个列表包含相同的元素,但他们应该通知像这样的列表((a) (b)),关于如何解决这个问题的任何想法?有没有对它有用的功能?操作列表中共同lisp

if i have a list(a b) 
the result should be ((a)(b)) 

谢谢你们

+1

我不说话口齿不清,但你应该能够做到像' map(lambda x:cons(x,nil))'。希望这是可以理解的... – phg

+1

这听起来像是一堆假的计算器帐户中的另一个假问题。所有的拼写都非常差,错误的Lisp语法,不表示没有自己的努力,并提出一些微不足道的问题。 –

+0

@RainerJoswig“假问题”?我错过了什么? – fableal

回答

1

你想要做的是这样的:

(defun listify(ls) 
    (mapcar (lambda (elem) (list elem)) ls)) 

编辑

这是一样的(感谢@RainerJoswig):

(defun listify(ls) 
    (mapcar #'list ls)) 

如果你这样做:

(listify (list 1 2 3)) 

(listify '(1 2 3)) 

输出将是:

((1) (2) (3)) 
+0

(lambda(elem)(list elem))只是#列表 –

+0

没有必要进行投票表决。天啊。 – fableal

+0

语法是'#'list',而不是''#list'。 – Xach