我对以下Python表达式感到好奇:
d3 = dict(d1, **d2)
任务是将 2 个字典合并成第三个字典,上述表达式可以很好地完成任务。我对 ** 运算符感到感兴趣,它在表达式中究竟做了什么。我认为 ** 是幂运算符,但我还没有看到它在上下文中被使用过。完整的代码片段如下:
>>> d1 = {'a': 1, 'b': 2}
>>> d2 = {'c': 3, 'd': 4}
>>> d3 = dict(d1, **d2)
>>> print d3
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
d2
中的键是字符串,此代码才能正常工作。 - Brent Bradburndict(d1, **d2)
比dict(**d1, **d2)
或{d1, **d2}
或{**d1, **d2}
的优势——它在Python 2中可用。我认为在Python 3中,最后一种语法是首选,因为它简洁且一致。但很好知道在Python 2中也有一种方法来做到这一点,至少对于字符串键来说,即使看起来有些hackish。 - Michael Scheper