python里面的字典dict类型键名为中文的解决办法
用的是 python2.7的版本,好像对中文支持不是很好。python
先来看一个python2编码的例子python2.7
1编码 2spa 3code 4ci 5unicode 6开发 7table 8变量 9 10 11 12 13 |
# 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') |
若是在程序里面 定义了
1 |
dict_color = { '黑色' : '1' , '白色' : '2' , '黄色' : '3' , '蓝色' : '4' , '绿色' : '5' , '紫色' : '6' , '银灰色' : '7' , '深灰色' : '8' , '香槟色' : '9' } |
若是用变量当作键名引用的话,会提示键名错误,查了百度半天,终于找到解决办法,定义键名的时候 前面加个 u。太麻烦了,感受python2 对中文支持不是很好,仍是很影响开发,不知道 python3会不会有这样的问题
1 |
dict_color = {u '黑色' : '1' ,u '白色' : '2' ,u '黄色' : '3' ,u '蓝色' : '4' ,u '绿色' : '5' ,u '紫色' : '6' ,u '银灰色' : '7' ,u '深灰色' : '8' ,u '香槟色' : '9' } |
键名是中文的话,像以上这样定义最好。。。