将嵌套的 Keyed 字典更改为仅包含 KDB+/Q 键的嵌套列表

change nested Keyed dictionaries into nested lists of just the keys KDB+/Q

我有一个键控字典的 (0h) 列表(名为 result),键控为 `RIC。

我想为 result 的每个条目提取 RIC 列表,并将其存储在不同的列表中,该列表只包含每个索引的 RIC 嵌套列表。我需要能够按索引顺序将函数应用于每个 RIC 列表,并且无法弄清楚该怎么做,因为 result 有键控字典而不是列表(键控字典还有其他专栏,但 RIC 是我唯一感兴趣的)

抱歉,如果这个解释很糟糕,但我真的不知道该怎么做。非常感谢任何建议!

您有一个键表列表。因此,您可以使用 qSQL exec 来自每个的 RIC 列:

{exec RIC from x}each result

您有一个键控词典列表。它的类型是 0,所以我们知道字典键是不同的。

Index At Each 是你所需要的:

q)show dd:(`one`two`three`four`five,'`RIC)!'(`bar;)each(2+5?5)?'`3
`one`RIC!(`bar;`oco`khd`dga`eob)
`two`RIC!(`bar;`iog`edg`kio)
`three`RIC!(`bar;`gme`iko`cje`ijj)
`four`RIC!(`bar;`dlm`klp`epj`bji`gph)
`five`RIC!(`bar;`lfm`mci`pal`eho`kgi`enf)
q)type dd
0h
q)dd@'`RIC
`oco`khd`dga`eob
`iog`edg`kio
`gme`iko`cje`ijj
`dlm`klp`epj`bji`gph
`lfm`mci`pal`eho`kgi`enf

q)(dd@'`RIC) ~ {exec RIC from x}each dd
1b
q)\ts:10000 {exec RIC from x}each dd
18 1456
q)\ts:10000 dd@'`RIC
5 736

(也将使用键控表列表。)