如何删除common-lisp中列表中的重复列表?我试过这个:
(remove-duplicates '( (1 2 3) (1 2 3)))
Run Code Online (Sandbox Code Playgroud)
但它评估的 ((1 2 3) (1 2 3))不是((1 2 3)).
谢谢.
使用keyword参数:test指定定义两个项是否相互重复的函数.大多数lisp函数,包括remove-duplicates,eql默认情况下用于测试相等性.eql比equal你想要使用的要严格得多.
(remove-duplicates '((1 2 3) (1 2 3)) :test #'equal)
Run Code Online (Sandbox Code Playgroud)
这评估为'((1 2 3)).
有关和之间区别的更多详细信息,请参阅此帖子.eqlequal
| 归档时间: |
|
| 查看次数: |
558 次 |
| 最近记录: |