How do I remove a key from a dictionary?
Pass the key you want to remove as the left argument to the _ (drop) operator, and pass the dictionary as its right argument:
q)dict: `a`b`c ! 1 2 3
q)dict
a| 1
b| 2
c| 3
q)`b _ dict
a| 1
c| 3
q)
If you reverse the order of the arguments, the removal still works:
q)dict _ `b
a| 1
c| 3
q)
Although we can’t think of a good reason to do this, you might come across it. As our commenter Attila pointed out, however, you are more likely to see this overload in its assignment form:
q)dict _: `b / same as dict: dict _ `b
q)dict
a| 1
c| 3
q)
Meanwhile, you can remove multiple keys at once by passing a list of keys as the left argument to _ (drop):
q)`a`c _ dict
b| 2
q)
Reversing the arguments does not work in this case:
q)dict _ `a`c
‘type
q)