List 从scheme中的列表中获取元素
我有这样的客户信息列表 (迈克美国嫁给约翰英国单身凯特德国嫁给汤姆美国单身…) 我想定义名为find的scheme函数来检索给定名称的客户信息 例:-找到凯特->(德国已婚)List 从scheme中的列表中获取元素,list,scheme,List,Scheme,我有这样的客户信息列表 (迈克美国嫁给约翰英国单身凯特德国嫁给汤姆美国单身…) 我想定义名为find的scheme函数来检索给定名称的客户信息 例:-找到凯特->(德国已婚) 提前谢谢 假设列表始终具有正确的结构,只需对其进行迭代,一次前进三项: (define (find data name) (cond ((null? data) #f) ((equal? (car data) name) (list (cadr data) (caddr data)))
提前谢谢 假设列表始终具有正确的结构,只需对其进行迭代,一次前进三项:
(define (find data name)
(cond ((null? data) #f)
((equal? (car data) name)
(list (cadr data) (caddr data)))
(else (find (cdddr data) name))))
例如:
(define data
'(Mike USA married John UK single Kate Germany married Tom USA single))
(find data 'Kate)
=> '(Germany married)
(find data 'Bob)
=> #f