下面的代码可以对列表进行排序,除了我必须使用列表操作,如first
,second
等。如果我只有一个整数索引,我将如何使用它进行排序?有没有办法使用索引对列表进行排序?
#lang racket
(define lst '(("1" "Z") ("2" "A")))
(sort lst #:key second string<?)
我可以想出一个解决方案,这是创建一个功能或一个语法定义为int转换为适当的操作。如索引为0,则将其转换为first
。但这似乎并不令人愉快,而这种类型的列表操作只能达到tenth
?
谢谢!
哦,但我不能使用来自'列表ref'返回的数字。例如,'(sort lst#:key 0 string <?)'不起作用。我必须使用'第一'。除非我误解你的意思。 – ludluck
然后你不能使用'(sort lst#:key(lambda(l)(list-ref l 0))string <?)'? – Majora320
你是对的谢谢你。 – ludluck