我正在尝试在 Lisp 中创建一个(以某种方式)微妙的排序功能。我知道有 lambda 运算符可以让我的工作更轻松,但我找不到任何有用的东西,所以我希望你能帮助我。
作为输入,我有一个像这样的嵌套列表:
((o1 10 15 20) (o2 5 14 20) (o3 7 8 8))
输出应该是一个像这样的嵌套列表:
((o1 1 1 1) (o2 3 2 1) (o3 2 3 3))
更具体地说,第一个元素 fromo1
与第一个元素 from 进行比较,o2
并且o3
返回应该是它的位置(在上面的示例中,10 大于 5 和 7,因此它将位于结果列表中的第一个位置)等等。
最高的数字将获得第一名。
(这就像一个评分功能。有些学生申请,比较他们的功能数量。功能数量最多的人将获得第一名,但在比较使用的不同技术的数量时,他可能会获得第二或第三名)。
谢谢,我希望你能帮助我