舉例來說,我有:如何從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
是很常見的,我懷疑這是成語那將是最適合你的使用情況。