List 如何理解lisp中的列表(cons结构)

List 如何理解lisp中的列表(cons结构),list,lisp,common-lisp,List,Lisp,Common Lisp,我刚开始学习通用的口齿不清。当我阅读集合和树章节时,我不太了解列表的结构。现在我想知道清单上到底是什么样的。我知道缺点包括两个值,可以是任何类型的对象。在这里我找到了一张谷歌的图片。 但是我很困惑。它看起来像是数据结构中的一般列表。 列表是使用您提到的cons单元格生成的。第二部分为零的单个cons单元格是最简单的列表: (cons 'A nil) => (A) 如果要扩展列表,请将另一个单元格设置为: (cons 'C (cons 'B (cons 'A nil))) => (C

我刚开始学习通用的口齿不清。当我阅读集合和树章节时,我不太了解列表的结构。现在我想知道清单上到底是什么样的。我知道缺点包括两个值,可以是任何类型的对象。在这里我找到了一张谷歌的图片。 但是我很困惑。它看起来像是数据结构中的一般列表。
列表是使用您提到的cons单元格生成的。第二部分为零的单个cons单元格是最简单的列表:

(cons 'A nil)
=> (A)
如果要扩展列表,请将另一个单元格设置为:

(cons 'C (cons 'B (cons 'A nil)))
=> (C B A)
所以列表是一系列连接在一起的单元格

此外,为了让生活更轻松,还有
list
功能。这样,您就不必编写所有这些
cons
调用,并且可以创建如下列表:

(list 'C 'B 'A)
=> (C B A)

但里面仍然是一系列的cons单元格。

你的问题是什么?我很困惑。这看起来像是一般的博客。对不起,我的问题可能不清楚,因为我的英语很好。嗯,我想知道列表是如何用lisp组织的?你能编辑你的问题以包括这个问题吗?这个问题可能太广泛了,但我认为这个问题的答案可能会有帮助。