如何在Common Lisp中按特定顺序对列表进行排序?

佩德罗·科斯塔(Pedro Costa)

因此,我知道如何(1 2 3)按Common Lisp中的升序对列表进行排序

但是我需要对这个列表进行排序:( (1 2 3) nil 1)第3个元素的降序排列

有没有办法做到这一点?

杰伊

sort函数接受一个谓词,该谓词将用于告诉元素何时在另一个元素之前(请参见hyperspec)。

因此,定义一个函数compare-3rd

(defun compare-3rd (a b)
  (< (nth 2 a) (nth 2 b)))

并将其用作谓词:

(sort '(( (1 2 3) nil 4)
    ( (1 2 3) nil 2)
    ( (1 2 3) nil 3))
      'compare-3rd)

==> (((1 2 3) NIL 2) ((1 2 3) NIL 3) ((1 2 3) NIL 4))

当然,如果您想按降序排列,则可以使用>而不是<in compare-3rd

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python中按顺序对列表进行排序?

如何在Common Lisp中按字母顺序对unicode字符串排序?

如何在Common Lisp中按字母顺序比较符号?

如何按原始列表的索引按字母顺序对Python中的列表进行排序

如何在Android中按字母顺序对领域结果列表进行排序?

如何在C中按字母顺序对链接列表进行排序

如何在ReactJS中按顺序优先级对列表字符串进行排序

如何按员工的角色的排序顺序对员工列表进行排序?

如何按python中的顺序列表对多个列表进行排序?

如何在熊猫中按顺序对多列进行排序

如何在Notepad ++中按数字顺序对行进行排序?

如何在JavaScript中对按顺序编号的文件进行排序?

如何在Laravel中按字母顺序对记录进行排序

如何在mysql查询中按特定顺序排序?

如何按字母顺序和最高编号对列表中的字典进行排序

如何从外部存储中按字母顺序对歌曲列表进行排序

如何使用 jQuery 按字母顺序对 HTML 中的列表进行排序?

Rails如何按特定顺序对数据库中的记录进行排序?

如何按特定顺序对数组中的三个项目进行排序?

如何按字母顺序对字符串列表进行排序?

如何使用jQuery按字母顺序对列表进行排序?

如何按字节顺序对AWS呼叫的列表进行排序

如何按字母顺序对列表视图进行排序

如何使用 QSortFilterProxyModel 按字母顺序对列表项进行排序?

如何按字母顺序对列表视图进行排序?

我如何按字典顺序对列表进行排序

如何在javascript中按特定语言顺序对多种语言的用户名进行排序?

如何在C ++中从对数字进行排序到按字母顺序进行排序

如何在python中按日期时间对列表进行排序?