{**d1, **d2}
is very natural if you also write javascript where their spread operator looks like: {...d1, ...d2} {**d1, **d2}
is very natural if you also write javascript where their spread operator looks like: {...d1, ...d2}Regardless it no longer matters, the Python 2 ecosystem is now rotting as packages drop support. Every week I have to make one or two hot fixes somewhere to forcibly pin to an old version to fix something.
To be fair, you can get that in Python 2 too:
from __future__ import division {**d1, **d2}
because it apparently looks ugly[1].There has been a recent effort to add all these new operators that don't actually let you do anything you couldn't but now you can confuse everyone by doing it in other ways.
{d1, d2} is not intuitive to a primarily-Python developer, and looks nothing like typical Python. The dict unpacking operator it uses is almost never seen outside function arguments.