Common Lisp中的关联

mnv*_*mnv 6 lisp common-lisp

有以下格式的结构:

 (setq dist '(((1 1) 1)
              ((0 2) 3)
              ((1 2) 1)
              ((2 3) 3)
              ((3 5) 4)))
Run Code Online (Sandbox Code Playgroud)

如果我打电话,是否有任何功能

(myf '(0 2))
Run Code Online (Sandbox Code Playgroud)

可以给我

3
Run Code Online (Sandbox Code Playgroud)

要么

((0 2) 3)
Run Code Online (Sandbox Code Playgroud)

像反向的东西 assoc

Jer*_*ome 8

我不明白为什么这会被称为反向ASSOC.

(assoc '(0 2) dist :test #'equal)
> ((0 2) 3)
Run Code Online (Sandbox Code Playgroud)

如果您更改测试功能,看起来ASSOC工作正常,因此正确测试用作键的列表.

  • 顺便说一句,如果你真的想要一个"反向"关联,即找到CDR匹配的对,那就有RASSOC. (2认同)