下面的代碼可以對列表進行排序,除了我必須使用列表操作,如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