2016-02-15 26 views
0

我無法確定如何訪問球拍中的特定球員信息。訪問球拍/方案中的特定列表部件

說我給一些像這樣的列表:

(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或從p3只得到200 ...我該怎麼做?

注:這顯然是一個家庭作業,但這個問題只是爲了開始。

回答

2

查找assq和朋友(assocassv):

> (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