根据某些条件提取 kdb 列表值

Extracting kdb list values based on some condition

假设我们有一个 kdb 列表

L1:(1 2 3 4 5)

申请条件

L1 < 3

以及如何在另一个列表中检索结果 (1 2)

您可以为此使用 where 关键字:

q)l1 where l1<3
1 2

应用 l1<3 将 return 布尔值列表 11000b。在此列表中使用 where 将 return 每个 1b 的索引

q)where 11000b
0 1

然后索引回原始列表将 return 另一个列表中的结果。