2012-11-18 33 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