如何告诉Python 2中的dict()使用unicode而不是字节串?

时间:2013-12-03 17:00:24

标签: python unicode dictionary python-2.x

以下是一个例子:

d = dict(a = 2)
print d
{'a': 2}

如何在不编写dict()之类的字符串文字明确性的情况下告诉u'a'构造函数使用Unicode?我正在从json模块加载字典,默认使用unicode。我想从现在开始使用unicode。

2 个答案:

答案 0 :(得分:7)

要使用Unicode密钥获取dict,请在构造dict时使用Unicode字符串:

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

从关键字参数创建的Dicts始终具有字符串键。如果您希望这些是Unicode(以及所有其他字符串),请切换到Python 3。

答案 1 :(得分:5)

2.x中的关键字参数只能使用ASCII字符,即字节串。要么使用dict文字,要么使用允许指定完整类型的构造函数之一。

>>> dict(((u'a', 2),))
{u'a': 2}