【问题标题】:Python dictionary or map in elispelisp 中的 Python 字典或映射
【发布时间】:2014-12-27 04:12:51
【问题描述】:

在 elisp 中,像 {'a':1, 'b':2} 这样的 python 字典的等价物是什么? 再说一遍,elisp 有没有 map-reduce api?

【问题讨论】:

    标签: elisp emacs24


    【解决方案1】:

    除了关联列表(算法复杂度对小表还可以,对大表不行),还有哈希表,你可以用make-hash-tableputhash构造,或者如果你更喜欢立即数,你可以写他们是#s(hash-table data a 1 b 2)

    【讨论】:

      【解决方案2】:

      Association lists 是 elisp 中最常用的关联容器。它只是一个像((key . value)) 这样的键值对单元格的列表。可以使用assoc函数获取key对应的value,rassoc获取key对应的value。

      Elisp 带有内置函数 mapcar,它可以映射,但是 AFAIK 没有好的 fold 工具。您可以使用提供的任何循环工具来模拟它。但是,更好的解决方案是使用 cl-lib 并进入 CommonLisp 领域。特别是it suppliescl-mapcarcl-reduce

      【讨论】:

      • pradhan,要从地图中获取价值,可以使用 assq(或)assoc 吗?
      • 通常,assoc 是有意义的,因为它将密钥与equal 进行比较。另一方面,assqeq 比较,这要求它们是内存中完全相同的对象。
      猜你喜欢
      • 2012-08-27
      • 2020-03-15
      • 1970-01-01
      • 2014-06-30
      • 2015-10-17
      • 2016-05-31
      • 2021-08-02
      相关资源
      最近更新 更多