KDB:如何从列表中做出(尽可能)均匀分布的选择?

KDB: How to make evenly distributed (as possible) selections from a list?

我知道在 KDB 中,如果您有一个列表,例如...

l:`apples`oranges`pears`

您可以生成 N 个随机 select 离子,如下所示:

9?l

但是我如何尽可能均匀地 select 列表中的每个项目?

您可以使用“#”运算符取列表的 N 个元素并对结果进行排列(0N?)。

q) l:`apples`oranges`pears
q)  0N?6#l  / take and permutation
q) `pears`oranges`apples`apples`oranges`pears