我可以创建一个值为列表的字典吗

can I create a dictionary with the value is a list

我尝试创建一个值为列表的字典。该列表是根据密钥生成的。例如,将密钥加 1 并重复 100 次。

0| 1 1 ...1 //a list with 100 "1" which is key(0)+1
1| 2 2 ...2
2| 3 3 ...3
3| 4 4 ...4

我可以在 KDB 中执行此操作吗?

{[lst;n]til[n]!lst+/:til n}[100#1;4]

这个函数也接受列表和你想去的号码 n。 /: 是副词 each-right,在这种情况下将每个 rhs 参数添加到 lhs 参数。

你可以试试

{y#'1+til[x]!til x}[4;100]

根据经验,无论何时将函数应用于 Q 中的字典,它都会应用于它的值列表。假设这一点,函数 y'# 应用于上面的字典 0 1 2 ... ! 1 2 3 ... 将其值转换为常量列表。

如果您希望能够指定密钥(例如非增量):

{x!100#/:1+x:(),x}0 4 6

你当然也可以制作 1001 变量