如何替换 KDB 列表中的项目?
How do I replace items in a list in KDB?
假设我有一个列表:
d: 0w 1 2 3
我想查找并替换列表中的 0w
。我在想我可以在列表中建立索引来找到它们,返回一个布尔值列表,其中:
d . {x=0w}
但这没有用。
我做错了什么?如何用更友好的东西替换我的 0w
?
如果你想找到每个 0w 的索引,你可以这样做
where 0w=d
然后如果你想把它在 d 中的所有实例替换为,比如 4,你可以这样做
d[where 0w=d]:4f
替换条目时注意类型错误
对于多个替换,您也可以使用字典:
q)d:0W 1 2 3
q)remap:0W 2!0 22
q)d^remap d
0 1 22 3
将 0W 重新映射为 0,将 2 重新映射为 22
假设我有一个列表:
d: 0w 1 2 3
我想查找并替换列表中的 0w
。我在想我可以在列表中建立索引来找到它们,返回一个布尔值列表,其中:
d . {x=0w}
但这没有用。
我做错了什么?如何用更友好的东西替换我的 0w
?
如果你想找到每个 0w 的索引,你可以这样做
where 0w=d
然后如果你想把它在 d 中的所有实例替换为,比如 4,你可以这样做
d[where 0w=d]:4f
替换条目时注意类型错误
对于多个替换,您也可以使用字典:
q)d:0W 1 2 3
q)remap:0W 2!0 22
q)d^remap d
0 1 22 3
将 0W 重新映射为 0,将 2 重新映射为 22