访问 Racket/Scheme 中的特定列表部分
Access specific list parts in Racket/Scheme
我无法弄清楚如何访问 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...我该怎么做?
注意:这显然是家庭作业,但这个问题只是入门。
查找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
我无法弄清楚如何访问 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...我该怎么做?
注意:这显然是家庭作业,但这个问题只是入门。
查找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