python里面的字典dict类型键名为中文的解决办法

用的是 python2.7的版本,好像对中文支持不是很好。

先来看一个python2编码的例子

# coding: UTF-8

u = u'汉'
print repr(u) # u'\u6c49'
s = u.encode('UTF-8')
print repr(s) # '\xe6\xb1\x89'
u2 = s.decode('UTF-8')
print repr(u2) # u'\u6c49'

# 对unicode进行解码是错误的
# s2 = u.decode('UTF-8')
# 同样,对str进行编码也是错误的
# u2 = s.encode('UTF-8')

如果在程序里面 定义了

dict_color = {'黑色':'1','白色':'2','黄色':'3','蓝色':'4','绿色':'5','紫色':'6','银灰色':'7','深灰色':'8','香槟色':'9'}

如果用变量当做键名引用的话,会提示键名错误,查了百度半天,终于找到解决办法,定义键名的时候 前面加个 u。太麻烦了,感觉python2 对中文支持不是很好,还是很影响开发,不知道 python3会不会有这样的问题

dict_color = {u'黑色':'1',u'白色':'2',u'黄色':'3',u'蓝色':'4',u'绿色':'5',u'紫色':'6',u'银灰色':'7',u'深灰色':'8',u'香槟色':'9'}

键名是中文的话,像以上这样定义最好。。。