令人惊讶的是,我发现自己在 emacs lisp 中缺少的一件事是列表操作的特殊位。我想念 Python 的简洁列表切片。
>>> mylist = ["foo", "bar", "baz", "qux", "frobnitz"]
>>> mylist[1:4]
['bar', 'baz', 'qux']
我在 emacs 文档中看到了这些函数butlast
,nthcdr
它们会从如下代码中得到相同的结果:
(setq mylist '("foo" "bar" "baz" "qux" "frobnitz"))
(butlast (nthcdr 1 mylist) 1)
;; ("bar" "baz" "qux")
有没有比合并butlast
and更简洁的获取列表切片的方法nthcdr
?