举例来说,我有:如何从KDB列表中删除元素?
x: (`a`b!(1;2);(); `a`b!(3;4))
,我想删除()
。我一直在使用?
(比赛)
x[x ? not()]
尝试,但只是给()
。
什么是正确的表达?
背景
我经常使用peach
执行一系列的查询,往往有些人会在()
的形式返回丢失的数据。因此,我想删除()
并返回到一个不错的表格。
举例来说,我有:如何从KDB列表中删除元素?
x: (`a`b!(1;2);(); `a`b!(3;4))
,我想删除()
。我一直在使用?
(比赛)
x[x ? not()]
尝试,但只是给()
。
什么是正确的表达?
背景
我经常使用peach
执行一系列的查询,往往有些人会在()
的形式返回丢失的数据。因此,我想删除()
并返回到一个不错的表格。
可以除了如用:
q)x except 1#()
a b
---
1 2
3 4
()是一个空列表。所以计数为零。因此,我们可以使用:
q)x where not 0 = count each x
a b
---
1 2
3 4
好吧,如果你已经返回表(而非字典),你总是可以只raze
,这将是足够的摆脱空的名单。从技术上讲,它是附加的,但如果你在列表上附加一个空列表,你会得到原始列表。回想一下,表格只是一个字典列表,所以这里仍然是这种情况。
//I'm enlisting your dictionaries,
//so that they become tables and then raze
q)raze @[x; 0 2; enlist]
a b
---
1 2
3 4
片段如raze f each x
或raze f peach x
是很常见的,我怀疑这是成语那将是最适合你的使用情况。