Python字典或地图在elisp中

7 elisp emacs24

什么是像{'a':1, 'b':2}elisp 中的python字典?再一次,elisp有没有map-reduce api?

Ste*_*fan 8

除了关联列表(其算法复杂度适用于小表但不适用于大表),还有哈希表,您可以使用make-hash-table和构造puthash,或者如果您更喜欢立即值,则可以将它们编写为#s(hash-table data a 1 b 2).


Pra*_*han 6

关联列表是elisp中最常用的关联容器.它只是这样的键值缺陷单元列表((key . value)).您可以使用该assoc函数获取与键对应的值,并rassoc获取具有所需值的键.

Elisp带有内置功能mapcar,可以映射,但AFAIK没有好的fold设施.您可以使用提供的任何循环功能来模拟它.但是,更好的解决方案是使用cl-lib并进入CommonLisp土地.特别是它供应 cl-mapcarcl-reduce.