我通過以下Python表達好奇:表達式`dict(d1,** d2)`中的`**`是什麼意思?
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}
需要注意的是,GvR認爲這個表達式是[卑鄙的](http://mail.python.org/pipermail/python-dev/2010-April/099459.html) – elhefe 2012-08-24 18:19:35
這隻有在' d2'是字符串,至少在Python 3中。 – nobar 2013-08-17 23:00:02
哦,很酷,我沒有意識到它在Python 2中完全可以工作。我想這就是dict(d1,** d2)'over'dict ** d1,** d2)'或'{d1,** d2}'或'{** d1,** d2}''''''''在Python 2中有效。我認爲最後一個是Python 3中的首選語法,因爲它簡潔而一致。但很高興知道有一種方法可以在Python 2中實現,至少在字符串鍵中,即使它看起來有點冒失。 – 2017-06-13 17:58:22