我如何追加(1 2 3)
到()
末,使((1 2 3))
我如何追加(4 5 6)
至是末,使((1 2 3) (4 5 6))
我如何追加"|"
到即即将制作的末尾((1 2 3) (4 5 6) "|")
我怎么可以追加到一个列表,而无需创建一个点对
没有虚线对。
我正在与鸡计划,但我会采取任何方案在这一点上的答案。请注意,这些列表中的任何一个都可能是嵌套列表,谁知道什么......我只是写了一个简单的例子。
注意:@sjamaan显示a使用append的解决方案,涉及将所有内容封装到另一个列表中以补偿附加事务而非名称所示。
(append (list 1 2 3) "|") ;=> (1 2 3 . "|") ;^^ didn't actually append, created a dotted pair (append '(1 2 3) (list 4 5 6)) ;=> (1 2 3 4 5 6) ; don't want unwrapped list ;^^ didn't actually append the list i gave it but appended the contents of the list.
基本上我希望,实际上追加你给它的append方法,不追加它的内容,或者需要它,使一个点对。也许我只是一个梦想家......我可以写一个“不真正追加”的方法,只需要你给它的任何参数,并将它们包装在一个外部列表中以弥补,但这只是愚蠢的......当然,方案有一定的方法追求没有这个疯狂。
的[什么是“缺点”可能的复制将项目添加到列表的末尾?](https://stackoverflow.com/questions/6439972/what-is-the-cons-to-add-an-item-to-the-end-of-the-list) – jcolemang
@jcolemang它是相似的,但不是相同。另一个问题很模糊,并没有涵盖相同的理由。它及其答案未能解决附加列表不附加列表而是内容的事实,并且不涉及附加单个项目。 – masukomi