如何在 KDB 中使用 upsert 创建嵌套字典?
How do I create nested dictionaries with upsert in KDB?
为什么 d[c]
作业在这里不起作用?
d: `a`b!(1;2)
d
a| 1
b| 2
d[`c]: d
'type
[0] d[`c]: d
(PS 它不适用于任何字典,不仅仅是这里显示的递归示例)
您尝试的赋值失败,因为您正试图添加到“类型化”字典(在本例中为 long 类型)。你会遇到同样的错误,试图添加一个 key-value 对,其中一个符号作为值,例如:
q)d[`c]:`s
'type
[0] d[`c]:`s
您可以使用没有指定值类型的字典来解决这个问题:
q)d:enlist[`]!enlist(::)
q)d[`a]:12.5
q)d[`b]:d
q)d
| ::
a| 12.5
b| ``a!(::;12.5)
为什么 d[c]
作业在这里不起作用?
d: `a`b!(1;2)
d
a| 1
b| 2
d[`c]: d
'type
[0] d[`c]: d
(PS 它不适用于任何字典,不仅仅是这里显示的递归示例)
您尝试的赋值失败,因为您正试图添加到“类型化”字典(在本例中为 long 类型)。你会遇到同样的错误,试图添加一个 key-value 对,其中一个符号作为值,例如:
q)d[`c]:`s
'type
[0] d[`c]:`s
您可以使用没有指定值类型的字典来解决这个问题:
q)d:enlist[`]!enlist(::)
q)d[`a]:12.5
q)d[`b]:d
q)d
| ::
a| 12.5
b| ``a!(::;12.5)