【问题标题】:functions and lists in scheme/racket方案/球拍中的功能和列表
【发布时间】:2012-02-03 23:42:11
【问题描述】:

你将如何定义一个函数,它接受一个参数,应该是一个列表,并返回列表中的元素 列出哪些本身就是列表?

(check-expect (find-sublists ’(1 2 () (3) (a b c) a b c)) 
              ’(() (3) (a b c)))

【问题讨论】:

    标签: list function scheme racket


    【解决方案1】:

    您是否有设计可以通过列表过滤功能的经验?

    一个与原始问题相同的简单问题是这样的:设计一个接受数字列表并只保留偶数的函数。你能做到这个功能吗?

    查看http://www.ccs.neu.edu/home/matthias/HtDP2e/htdp2e-part2.html 并完成其指导练习也可能会有所帮助。

    【讨论】:

      【解决方案2】:

      两个有用的工具应该可以帮助您:

      1) 遍历一个列表:

      ; traverse: takes a list of numbers
      ; Goes through each element, one-by-one, and alters it
      (define traverse
        (lambda (the_list)
          (if (empty? the_list)
              empty
              (cons (+ 1 (first the_list)) 
                    (traverse (rest the_list))))))
      

      (traverse (cons 3 (cons 4 empty))) 返回(cons 4 (cons 5 empty))

      2)list?

      (list? (list 1 2 3)) 返回#t
      (list? 5) 返回#f

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-30
        • 2015-06-08
        • 2019-04-10
        • 2020-03-18
        • 1970-01-01
        • 1970-01-01
        • 2015-03-20
        • 2021-12-21
        相关资源
        最近更新 更多