Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 从scheme中的列表中获取元素_List_Scheme - Fatal编程技术网

List 从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)))

我有这样的客户信息列表

(迈克美国嫁给约翰英国单身凯特德国嫁给汤姆美国单身…)

我想定义名为find的scheme函数来检索给定名称的客户信息

例:-找到凯特->(德国已婚)


提前谢谢

假设列表始终具有正确的结构,只需对其进行迭代,一次前进三项:

(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