NJZX05 发表于 2013-11-19 09:39:39

关于cadr与cdar的问题

本帖最后由 NJZX05 于 2013-11-19 12:48 编辑

今天在群里,对cdar与cadr的区别争论了一番,其实很简单,按字母a与d的顺序展开为嵌套的car或是cdr就行了,具体的结果还可以这样理解:a会脱去一层表,d则是会跳过一个元素,举例如下:

(cadr A)=(car (cdr A))
(cdar A)=(cdr (car A))
(caddr A)=(car (cdr (cdr A)))
(cddr A)=(cdr (cdr A))
(cdddr A)=(cdr(cdr (cdr A)))
(cadddr A)=(car (cdr (cdr (cdr A)))
(cadadr A)=(car (cdr (car (cdr A)))

这种嵌套的意义在于,可以处理复杂的多层次结构,避免多个语句的使用,对于处理数据结构中的树、网有特别的优势

以上内容如果群里有重复的,请群主帮助删掉,没有的就保留着吧,谢谢!

twsyzx 发表于 2013-11-19 21:55:01

了解了,确实是可以的

陈伟 发表于 2021-9-25 23:42:14

学习了,恰好用上

qazxswk 发表于 2024-5-29 01:49:59

简化代码用的上。学习了
页: [1]
查看完整版本: 关于cadr与cdar的问题