Racket(Scheme) 中是否有一些函数可以给我元素,在列表中应用给定函数后产生最小值。
类似 (apply min (map f list))
但在应用 f 之前返回元素。
例如:
(define lst '((1 . 3) (3 . 8) (5 . 6))
(define (f pair)
(- (cdr pair) (car pair)))
(minimum f lst)
这应该给 '(5 . 6)
.至少在没有直接函数的情况下,应该有一个具有更高阶函数的单行衬里(因为我必须填写一行才能获得这种行为)。
有任何想法吗?
最佳答案
试试 argmin
:
#lang racket
(define lst '((1 . 3) (3 . 8) (5 . 6)))
(define (f pair)
(- (cdr pair) (car pair)))
(argmin f lst)
生产 '(5 . 6)
如您所愿。
关于functional-programming - 用于查找给定函数的列表的最小元素的 Racket 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63415036/