我无法弄清楚如何访问Racket中的特定配对信息。
说我得到一些这样的清单:
(define database-of-components
'((p1 200 (2 p2) (3 p3))
(p2 8 (2 p4))
(p3 60 (1 p5) (2 p6) (3 p7))
(p4 2)
(p5 2)
...
))
我如何访问某些pn
个人中包含的数据?假设我试图从p1
获得200或从p3
只获得60 ...我该怎么做?
注意:这显然适用于家庭作业,但这个问题只是为了开始。
答案 0 :(得分:2)
查找assq和朋友(assoc
,assv
):
> (assq 'p1 database-of-components)
'(p1 200 (2 p2) (3 p3))
> (second (assq 'p1 database-of-components))
200
> (second (assq 'p3 database-of-components))
60