【发布时间】:2023-03-27 14:55:01
【问题描述】:
我有问题。我需要从此列表中获取平均长度:(1 (2 3 4) 5 (6 7) 8 (9))。应该是 2。而且我不知道从哪里开始......
我尝试从(1 (2 3 4) 5 (6 7) 8 (9)) 获取(1 2 3 4 5 6 7 8 9),但失败了,因为(reduce #'append list-name) 不起作用。
我知道如何计算这个,但我需要在 (1 (2 3 4) 5 (6 7) 8 (9)) 中获取所有列表 像这样:
list1 = (1 5 8)
list2 = (2 3 4)
list3 = (6 7)
list4 = (9)
但我不知道怎么做。
你能给我一些帮助吗?
【问题讨论】:
-
为什么是
(1 5 8)?1不是一个列表,所以它没有长度。同样,5和8。你只剩下(2 3 4)、(6 7)和(9),平均列表确实正好是 2 个。 -
谢谢,所以我只需要得到 (2 3 4)、(6 7) 和 (8)。但是怎么做呢?
-
(listp 1)=>NIL. -
如果 arg 是列表,这给了我 T 或 NIL?我明白了,但仍然不知道如何在列表中获取列表。 (2 3 4)、(6 7) 和 (8) 从 (1 (2 3 4) 5 (6 7) 8 (9))
标签: list nested lisp average clisp