球拍相交两个列表

巴勃罗·普拉多

我正在尝试将Racket上的两个列表相交,但是以下代码无法正常工作:

(define (intersection a b)
  (if (null? a)
    '()
    (if (contains (car a) b)
      (cond (car a)(intersection (cdr a) b))
      (intersection (cdr a) b))))

结果总是以列表b中包含的列表a的第一项加上列表a的其余部分结束。例如:

a = '(1 2 3 4 5 6)
b = '( 10 20 4 30 33)

将返回:

'(4 5 6)

我确定包含内容正确运行,因此错误必须出在我发布的代码中。谢谢!

除夕

cond是一种特殊形式,是嵌套的就地替换if在我看来,您无意检查是否car为真,因此a始终是结果,因此我想您实际上想使用的是cons

(define (intersection a b)
  (if (null? a)
      '()
      (if (contains (car a) b)
          (cons (car a) (intersection (cdr a) b))
          (intersection (cdr a) b))))

(define contains member) ; contains wasn't defined by I guess member will do

(intersection '(1 2 3 4 7) '(3 4 5 6)) ; ==> (3 4)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python与条件相交两个列表

来自分类Dev

Python与条件相交两个列表

来自分类Dev

球拍-两个列表比较列表和值的问题

来自分类Dev

球拍:遍历两个大小不同的列表

来自分类Dev

字典中的相交列表(两个以上)

来自分类Dev

两个大列表相交的高效算法

来自分类Dev

两个空白列表是否保证为“ eq”?在球拍中?

来自分类Dev

球拍中的功能可交换符号列表中的两个符号

来自分类Dev

在两个视图之间找到相交?

来自分类Dev

如何相交两个或多个矩阵?

来自分类Dev

阻止两个矩形相交

来自分类Dev

将两个shapefile与R相交

来自分类Dev

通过动态属性将两个通用列表相交

来自分类Dev

包含列表的两个data.frame列的相交值

来自分类Dev

包含列表的两个data.frame列的相交值

来自分类Dev

将两个不同对象的所有列表相交的最快,最简单的方法

来自分类Dev

在第一个列表中按保留顺序将两个列表相交

来自分类Dev

如何在两个不同的元组列表中与元组的第一个元素相交

来自分类Dev

球拍:从两个清单中制作成对清单

来自分类Dev

有关球拍宏的两个问题

来自分类Dev

为什么两个CGRect在视觉上不相交?

来自分类Dev

懒惰地与两个可迭代对象相交

来自分类Dev

如何删除Qt中两个矩形的相交部分?

来自分类Dev

Google Maps两个圆的相交点

来自分类Dev

两个向量相交,但索引应相同

来自分类Dev

程序从两个哈希表中找到相交的值

来自分类Dev

两个Shape对象似乎在错误的位置相交?

来自分类Dev

相交两个具有重复值的List <int>

来自分类Dev

合金中两个特征的不相交的并集