Kdb 如何在q中筛选或搜索嵌套列表
假设我有一张清单Kdb 如何在q中筛选或搜索嵌套列表,kdb,Kdb,假设我有一张清单 list:(`a`b;`ac`d;`e`af) 我想搜索所有的符号,比如a来给出 (`a;`ac;`af) 我该怎么做呢 如果我尝试使用 list where each list like "*c*" (没有每个都适用于平面列表)我得到一个类型错误 谢谢你你的方法就快到了-像一样可以很好地处理平面列表,但是需要被告知对左参数的每个元素进行操作: q)list like\:"*c*" 00b 10b 00b 然后,您可以使用where each,并将两者应用回初始列表的
list:(`a`b;`ac`d;`e`af)
我想搜索所有的符号,比如a
来给出
(`a;`ac;`af)
我该怎么做呢
如果我尝试使用
list where each list like "*c*"
(没有每个都适用于平面列表)我得到一个类型
错误
谢谢你你的方法就快到了-
像
一样可以很好地处理平面列表,但是需要被告知对左参数的每个元素进行操作:
q)list like\:"*c*"
00b
10b
00b
然后,您可以使用where each
,并将两者应用回初始列表的每个元素(”
):
这只返回与每个元素中的
like
右参数匹配的元素,因此返回的是空列表。您的方法几乎就在那里-like
可以很好地处理平面列表,但需要被告知对左参数的每个元素进行操作:
q)list like\:"*c*"
00b
10b
00b
然后,您可以使用where each
,并将两者应用回初始列表的每个元素(”
):
这只返回与每个元素中的like
right参数匹配的元素,因此返回的是空列表。当您查找任何事件时,似乎不关心位置,您可以在此处使用raze
。它会给你你想要的结果
q)list:(`a`b;`ac`d;`e`af)
q){r where (r:raze x) like y}[list;"a*"]
`a`ac`af
由于您正在查找任何事件,并且似乎不关心位置,您可以在此处使用raze
。它会给你你想要的结果
q)list:(`a`b;`ac`d;`e`af)
q){r where (r:raze x) like y}[list;"a*"]
`a`ac`af