我想知道在Racket中我是否可以从我已经创建的列表中获得n个项目。所以我要说我在Racket中列出了一个列表
(define base(list 1 2 3 4 5 6 7 8 9 10))
现在我想定义一个函数,它将从该列表中选择n个项目并将它们显示在新列表中。所以,假设n = 4我想要从上面列出的基本列表中选择4个随机项。我正在寻找的输出的一个例子是
'(9 4 3 10)
我有没有办法在Racket中做到这一点?
答案 0 :(得分:1)
有内置的程序可以满足你的需要:改变列表并从中获取n个元素。试试这个:
(define (take-n-random lst n)
(take (shuffle lst) n))
(define base (list 1 2 3 4 5 6 7 8 9 10))
(take-n-random base 4)
=> '(6 9 1 7)