lisp 输出每个list的第二个数
时间: 2023-08-05 13:08:43 浏览: 40
假设你的Lisp列表如下:
```lisp
((1 2 3) (4 5 6) (7 8 9))
```
你可以使用mapcar和second函数来输出每个列表的第二个数:
```lisp
(mapcar #'second '((1 2 3) (4 5 6) (7 8 9)))
```
这将返回一个列表,其中包含每个原始列表的第二个元素:
```lisp
(2 5 8)
```
相关问题
1000个小cad二次开发lisp程序源码
这个问题有些复杂,因为要回答为何要开发这么多的LISP程序源码以及如何有效地管理和使用这些程序。从一个CAD二次开发者的角度来看,开发LISP程序有几个好处:
首先,LISP是一个开放源代码的程序编程语言,它可以在Autodesk AutoCAD CAD平台上运行,并且具有可编程的功能。这意味着我们可以开发自定义应用程序,以满足用户特定的需要。例如,我们可以开发自定义菜单、工具栏、命令以及Wizards等等,使得用户可以以更高效、更快速的方式完成其CAD设计任务。
其次,LISP程序可以大大提高用户的工作效率,因为它们可以自动化重复性的任务、快速检查错误、提供定制化的功能以及提高CAD设计的准确度和可靠性。
然而,开发1000个小LISP程序需要多年的工作,因此需要一种有效的管理工具来管理这些程序。这可以通过使用版本控制、文档管理、测试和集成、代码重用等策略来实现。
最后,我们可以为Autodesk AutoCAD平台开发自定义程序,以满足不同行业、不同设计领域和不同企业的特定需求。这些应用程序可以提高设计人员的工作效率和准确性,从而带来更高的生产力和竞争力。
帮我用Lisp写一个二分查找算法
好的,这是一个 Lisp 实现的二分查找算法:
```
(defun binary-search (list value)
(let ((low 0)
(high (length list))
(mid 0))
(loop while (< low high) do
(setf mid (/ (+ low high) 2))
(let ((mid-value (nth mid list)))
(if (< value mid-value)
(setf high mid)
(setf low (1+ mid))))))
(if (= value (nth low list))
low
nil))
```
该代码实现了在给定列表 `list` 中查找给定值 `value` 的索引。如果找到该值,则返回它的索引;如果未找到该值,则返回 `nil`。