Hy 中的字典合并

问题描述

如果我有两个字典,并且希望在键冲突时优先合并它们,我会在 Python 中进行:

In [1]: x = {'a': 1,'b': 2}

In [2]: y = {'b': 3,'c': 4}

In [3]: {**x,**y}
Out[3]: {'a': 1,'b': 3,'c': 4}

如何用 Hy 的语法写出这个表达式?

解决方法

字典解包运算符是 unpack-mapping,简称 #**

=> (setv x {"a" 1  "b" 2})
=> (setv y {"b" 3  "c" 4})
=> {#** x  #** y}
{"a" 1  "b" 3  "c" 4}