令人惊讶的是,我发现自己在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
和nthcdr
更简洁的获取列表切片的方法
https://stackoverflow.com/questions/13184450
复制相似问题