3 ms·
Did you try your example? It never worked in Python2 and it doesn't work in Python3 by design. Python 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 2
by Sean1708 9y ago
Did you try your example? It never worked in Python2 and it doesn't work in Python3 by design.
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = {'foo': 5, 'bar': 6}
>>> y = {'foo': 7, 'baz': 9}
>>> dict(x, **{'fo'+'o': 'bar'}, **y)
File "<stdin>", line 1
dict(x, **{'fo'+'o': 'bar'}, **y)
^
SyntaxError: invalid syntax
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x = {'foo': 5, 'bar': 6}
>>> y = {'foo': 7, 'baz': 9}
>>> dict(x, **{'fo'+'o': 'bar'}, **y)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type object got multiple values for keyword argument 'foo'
>>> {**x, 'fo'+'o': 'bar', **y}
{'foo': 7, 'baz': 9, 'bar': 6}