方案单词列表 eq?

2024-03-21

我有一个问题:我需要查找列表是否等于第二个列表,例如:

(set%eq? '(1 2 3) '(1 2 3))     ===> #t

(set%eq? '(1 2 3) '(2 3 4))     ===> #f

这些例子在我的程序中是正确的,但这个例子不是:

(set%eq? (quote ((quote one) (quote two) (quote three))) (quote ((quote one) (quote two) 
(quote three))))    ====> #f but i need #t

怎么了? 这是我的程序:

(define (set-eq? xs ys) 

(cond ((and (null? xs) (null? ys)) #t) 
       ((null? ys) #f) 
       ((eq? (car xs) (car ys)) (set-eq? (cdr xs) (cdr ys)))
       ((eq? (car xs) (car (reverse ys))) (set-eq? (cdr xs) (cdr (reverse ys))))
       (else #f)))

发布的代码中有几个错误,仅供参考,该程序测试是否有两个lists是相等的,它并不是真正测试两个之间的相等性sets:

(define (set-eq? xs ys)
  (cond ((and (null? xs) (null? ys)) #t)
        ((or (null? xs) (null? ys))  #f) ; missing case
        ((equal? (car xs) (car ys)) (set-eq? (cdr xs) (cdr ys))) ; use equal?
        ; deleted unnecessary case here. Anyway, why are you reversing the list?
        (else #f)))

现在这将起作用:

(set-eq? '(1 2 3) '(1 2 3))
=> #t

(set-eq? '(1 2 3) '(2 3 4))
=> #f

(set-eq? (quote ((quote one) (quote two) (quote three)))
         (quote ((quote one) (quote two) (quote three))))
=> #t

事实上,这也行得通:

(equal? '(1 2 3) '(1 2 3))
=> #t

(equal? '(1 2 3) '(2 3 4))
=> #f

(equal? (quote ((quote one) (quote two) (quote three)))
        (quote ((quote one) (quote two) (quote three))))
=> #t

……但这行不通,lists明显不同:

(set-eq? '(1 2 3 4) '(4 1 2 3)) 
=> #f

如果您打算测试两个之间的相等性sets,你必须彻底重新思考算法。这是一个想法:写一个subset?测试一个列表是否是另一个列表的子集(即:一个列表中的所有元素是否都包含在另一个列表中)的过程,然后测试是否(and (subset? l1 l2) (subset? l2 l1))是真的,如果发生这种情况,那么根据set平等的定义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

方案单词列表 eq? 的相关文章

  • Python - 对包含字符串和数字的列表中的数字值进行排序

    我创建了一个列表 其中包含 python 中分数文件的所有信息 分数 txt 文件 Dan Danson 9 6 1 John Johnson 5 7 10 Mike Mikeson 10 7 6 我这样做是为了将 txt 文件中的信息获取
  • 如何将三个列表压缩到嵌套字典中

    我有三个清单 z1 A A B B z2 k1 k2 k1 k2 z3 v1 v2 v3 v4 当我写时 print dict zip z2 z3 这是我的输出 k2 v4 k1 v3 我期望这样 A k1 v1 k2 v2 B k1 v3
  • jQuery - 操作可排序列表中删除的元素

    我有一个可拖动列表 field 您可以将其中的项目拖放到可排序列表 sortlist 中 我这样做是因为我不希望主列表 field 以任何方式改变 它工作得很好 除了我无法弄清楚如何操作可排序列表中的删除字段 我可以通过在 droppabl
  • CMake:如何在多个文件上运行自定义命令来生成源文件?

    我有以下情况 我想编译一些Scheme文件Gambit https github com gambit gambit成可执行文件 为此 我使用 gambit 将所有计划文件翻译 生成为 C 和目标文件 然后将其编译并链接为可执行文件 假设我
  • 如何获取 SICP、Scheme、练习 2.78 等中的 put 和 get 函数

    我正在尝试在 SICP 中做练习 2 78 但 put 和 get 函数未知 我尝试过多种语言 比如相当大 racket r5rs mit scheme mzscheme等 我什至下载了SICP支持 http www neilvandyke
  • 将坐标列表转换为元组列表

    我正在尝试将坐标列表转换为元组列表 from a list 56 78 72 67 55 66 to list of tuples 56 78 72 67 55 66 我尝试执行 for in 循环将 a list 中的每个元素转换为元组
  • 查找包含“inf”或“nan”的项目的索引

    以下是一个示例1 item在我的清单中 array 1 2 3 43 83 92 12 54 93 23 94 83 23 inf inf inf inf inf 83 33 33 83 13 83 83 nan 83 73 43 43 4
  • List.empty 与 List() 与 new List()

    有什么区别List empty List and new List 我什么时候应该使用哪个 首先 new List 不会工作 因为List类是抽象的 另外两个选项定义如下the List object http www scala lang
  • 在 Python 中高效操作笛卡尔坐标列表

    背景 我正在编写一个程序 用于处理与各种规则形状的顶点网络相关的大量数据 我有一个工作生成器 它根据一系列用户输入参数生成与所述形状的顶点相对应的笛卡尔坐标列表 然后 数据被传递到过滤器 过滤器清除重复的条目 对数据进行排序和各种其他功能
  • 形成两个列表并集的最简单方法

    将两个列表 例如 A 和 B 的元素相互比较 并且仅当 A 中不存在时才将 B 中存在的元素添加到 A 中 最简单的方法是什么 为了显示 取列表 A 1 2 3 列表 B 3 4 5 所以在 AUB 手术之后我想要 列表 A 1 2 3 4
  • 删除列表中不包含另一个列表中出现的子字符串的项目的优雅方法

    最近我遇到了这个问题 假设有一个我要处理的内容列表 process list test fruit apple test fruit pineapple test fruit banana test tech apple pen test
  • 非成员规则在 Prolog 中无法按预期工作

    我正在尝试在 Prolog 中创建一个迷宫程序 其目的是找到一条从迷宫起点到迷宫中心点 m 的路线 迷宫由使用四种颜色之一连接的正方形组成 蓝色 绿色 紫色或橙色 从起点到中心的路线遵循四种颜色的重复图案 我创建了以下代码 link2 A
  • 在列表列表中查找匹配值

    我正在尝试迭代 python 2 7 5 中的列表列表 并返回在第二个列表中找到第一个值的列表 如下所示 python 2 7 5 list1 aa ab bb bc cc list2 aa 1 3 7 de 2 2 1 bc 3 4 4
  • 获取数据框列表并按变量分组,然后使用该变量作为字典的键

    我对 python 编程比较陌生 我有一个 pandas 数据框列表 其中都有 年份 列 我试图按该列进行分组并转换为字典 其中字典键是变量 年份 值是该年的数据帧列表 这在Python中可能吗 我试过这个 grouped dict lis
  • 如何在Python中访问列表列表中的列

    我在 python 中有一个由列表列表建模的二维数组 我想提取该列 我进行了快速研究 找到了一种使用 numpy 数组的方法 问题是我不想使用 numpy所以我不想将列表列表转换为 numpy 数组 然后使用 1 句法 我尝试在正常的列表列
  • 在 Prolog 中动态拆分列表

    我从序言开始几周 但我看到了更深入的操作列表的递归谓词的构造 我的问题是 是否可以构建一个谓词 将给定列表拆分为给定数量的其他列表 比如我想象的 split H T NumberLists Lists 递归实现 split 1 2 3 4
  • 计算嵌套列表的深度或最深级别

    A 在一项作业上遇到了真正的问题 并且令人头疼 我正在上一堂入门编程课 我必须编写一个函数 给定一个列表 该函数将返回它所达到的 最大 深度 例如 1 2 3 将返回 1 1 2 3 将返回 2 我写了这段代码 这是我能得到的最好的T T
  • 自动滚动的实时行情(如 Twitter 的“热门推文”)

    是否有一个好的 Javascript 库可以生成自动滚动列表 例如 Twitter 主页上的 热门推文 最好作为 jQuery 插件 它还应该支持 AJAX 功能 动态添加新列表项 由于我们对现有的解决方案并不满意 因此我们从头开始实施了一
  • 在 Erlang 中展平嵌套列表的列表

    我正在做练习Erlang编程 问题是 编写一个函数 给定一个嵌套列表的列表 该函数将返回一个平面列表 例子 flatten 1 2 3 4 5 6 1 2 3 4 5 6 提示 使用concatenate解决flatten 这是我的conc
  • 在 VB.NET 中对对象列表进行排序

    我有一个乘客 对象 列表 它具有不同的属性 passenger name passenger age passenger surname 我想按年龄标准对这个列表进行排序 我该怎么做 我知道在整数 字符串列表中 List Sort 有效 但

随机推荐

  • DISTINCT() 和 ORDERBY 问题

    我正在学习 LINQ to SQL 一切都很顺利 直到发生了一些奇怪的事情 我试着举个例子distinct 因此 使用 Northwind 数据库 我编写了以下查询 var query from o in db Orders orderby
  • 带有徽标的 A 框链接

    我想使用徽标从场景内部链接到外部 URL 常规网站 而不是 VR 这就是我所拥有的
  • 使用新安装的模块而无需重新启动交互式会话

    在长时间的交互会话 使用 ipython 中 我有时需要使用尚未安装的模块 安装新模块后 该模块可以在新的交互式会话中导入 但不能在安装之前运行的会话中导入 由于我正在使用内存中的所有变量 我不想重新启动会话 我怎样才能获得这样一个先前运行
  • 你能推荐一些Python HTTP客户端库吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想使用Python从一些网站捕获信息 我希望HTTP客户端满足这个条件 支持HTTPS 不会使用太多
  • 通过自动布局在 UIScrollView 中使用顶部布局指南

    I want to use the Top Layout Guide in the UIScrollView through Auto Layout Without the UIScrollView Auto Layout works we
  • 是否可以在没有 sqlite 函数的情况下将 SQLite 数据库与 PHP 一起使用?

    我的 PHP 安装没有 SQLite Functionality 作为基本安装 因此没有 sqlite 函数可用 是否有一个 PHP 库 PHP 代码 可以访问 SQLite 数据库 而无需在 PHP 中安装任何插件 我无法更改服务器配置
  • 如何计算 (a*b)%c 形式的模数?

    如何计算 a b c 形式的模数 我想计算两个 int 数字相乘的模数 它们几乎处于溢出阶段 这里 c 也是 int a b c a c b c c
  • 是否对使用“OR”的 SQL SERVER 表达式的所有部分进行求值?

    Given WHERE Id Is NULL OR Id Table Id 如果 Id 为 null 表达式的计算结果为 true 第二部分 Id Table Id 是否仍然被考虑 或者 如果第一部分是 c 中的情况 则表达式计算结果为 t
  • 你能在 shell 脚本中生成一个进程吗?

    我试图让我的 bin sh shell 脚本启动另一个应用程序而不暂停执行 也就是说 我正在寻找一种在后台启动它并让我的 shell 脚本继续执行的方法 我希望它能像这样工作 start daemon start success launc
  • 如何使用NamedTemporaryFile(什么时候关闭?)

    我正在尝试编写一系列写入临时文件的函数 然后对写入的文件进行处理 我试图了解该文件是如何处理的 我想做的摘要是 def create function inputs create temp file write some contents
  • JS 私有方法不会在每次构造函数调用时重新定义

    如何创建一个每次调用构造函数时都未定义的 Javascript 私有方法 据我所知 在OOP JS中 私有方法是在 类 的 构造方法 中定义的方法 每次实例化一个新的 对象 时都会调用 我在想也许是一个函数声明 即function name
  • 在 Swift 中使用 obj-c typedef

    我有一个 typedef 如下 typedef NSString VMVideoCategoryType extern VMVideoCategoryType const VMVideoCategoryType MusicVideo ext
  • 组合两个 Runnable 对象

    举例来说 我有一个名为 RunnableA 的 Runnable 它可以执行某些操作 我还有一个名为 RunnableB 的 Runnable 它可以执行其他操作 有没有办法可以将这两个 Runnable 组合起来 以便它们在同一个线程中运
  • Ironpython:函数在 CPython 中工作,IronPython 中神秘的空指针异常

    我正在尝试做一些看起来非常简单的事情 并且属于标准 python 的范围 以下函数接受集合的集合 并返回两个或多个集合中包含的所有项目 为此 虽然集合的集合不为空 但它只是从集合中弹出一个集合 将其与其余集合相交 并更新落在这些交集之一中的
  • 在 React 中测试 mapbox-gl 时如何修复“window.URL.createObjectURL 不是函数”?

    我正在使用 Mapbox material ui 和自定义样式测试 React 组件 我使用 Jest Enzyme 进行测试 我有问题 window URL createObjectURL 不是函数 我读过类似的问题 github com
  • 如何自定义引导侧边栏/sidenav?

    I need to make use of Twitter Bootstrap Sidebar for creating a menu in my web application Highlighted in red To create a
  • 隐藏键盘ios [重复]

    这个问题在这里已经有答案了 我有一些文本输入 每当我触摸背景时 我都可以隐藏键盘 但只有当我输入第一个文本框名称 textField1 时 现在这段代码应该很简单 但我似乎无法理解它 IBAction backgroundTouched i
  • 如何在Python中将词云保存为.png?

    我正在尝试基于字符串创建词云 然后将其导入到报告文档中 我正在使用 python docx matplotlib 和词云 这是我的一个简短的总结 from wordcloud import WordCloud import matplotl
  • 获取 Flask 中的当前用户 ID

    我对 Python 还很陌生 老实说 我对一般编程也很陌生 我目前正在制定一种待办事项列表 我需要它将待办事项放入适当的课程中 所有这些都与教育内容相关 所以 问题很简单 我将其作为 Flask 驱动的路线 app route add co
  • 方案单词列表 eq?

    我有一个问题 我需要查找列表是否等于第二个列表 例如 set eq 1 2 3 1 2 3 gt t set eq 1 2 3 2 3 4 gt f 这些例子在我的程序中是正确的 但这个例子不是 set eq quote quote one