Python列表或者字典里面的中文如何处理?
PHPz
PHPz 2017-04-18 10:26:13
[Python讨论组]

已经是utf8编码了,但是在print mylist的时候打印出来的是它的utf8编码而不是我想要的汉字,网上有人说可以json.dumps的,但是这样的话就变成了string了不是列表或字典了。有什么办法可以在保证类型不改变的情况下可以通过mylist[0]这种下标访问方式访问到正确的中文,因为我想拿出来和另外的一个中文单词比较是否相等。谢谢。

PHPz
PHPz

学习是最好的投资!

全部回复(3)
PHP中文网
>>> list
[u'\u4e2d\u6587', u'\u6211\u662f\u4e2d\u6587', u'\u6211\u8fd8\u662f\u4e2d\u6587']
>>> list[0]
u'\u4e2d\u6587'
>>> list[0].encode('utf8')
'\xe4\xb8\xad\xe6\x96\x87'
>>> str = list[0].encode('utf8')
>>> print str
中文
伊谢尔伦

如果你只是要格式好看的话。。。

import json
zhlist = [u'中文', u'英文']
print json.dumps(zhlist, ensure_ascii=False, indent=2)

打印出来看着一样,比较起来不一样,多半一个是unicode对象,一个是string对象,用type(obj)方法看看你要比较的两个值具体是什么类型的。
如果你想完全搞懂编码问题,可以参考这个问题下面的头两个回答。

PHP中文网

循环输出,即可。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号