How do I tell dict() in Python 2 to use unicode instead of byte string?

dictionary, python, python-2.x, unicode

Solution

To get a dict with Unicode keys, use Unicode strings when constructing the dict:

>>> d = {u'a': 2}
>>> d
{u'a': 2}

Dicts created from keyword arguments always have string keys. If you want those to be Unicode (as well as all other strings), switch to Python 3.

Problem

Here is an example: ``` d = dict(a = 2) print d {'a': 2} ``` How can I tell `dict()` constructor to use Unicode instead without writing the string literal expliclity like `u'a'`? I am loading a dictionary from a `json` module which defaults to use unicode. I want to make use of unicode from now on.

Original source