Удалить пустую строку из списка строк в KDB - PullRequest
0 голосов
/ 24 января 2020

У меня есть список строк:

q)l:("abc";"";"def";"");

Как мы можем удалить пустые строки из списка l?

Desired Output:

("abc";"def")

Мои неудачные попытки:

q)l except ""
q)l except\: ""
q)l except 1#""

1 Ответ

4 голосов
/ 24 января 2020

Использование enlist в пустой строке будет работать:

q)l except enlist""
"abc"
"def"

Во многих случаях 1# и enlist могут использоваться взаимозаменяемо, если список не опорожнить. Применение 1# к пустому списку вернет зачисленный ноль с пустым типом списка:

q)1#`long$()
,0N
q)1#`symbol$()
,`
q)1#""
," "
...