Heim  >  Fragen und Antworten  >  Hauptteil

Python列表或者字典里面的中文如何处理?

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

PHPzPHPz2741 Tage vor563

Antworte allen(3)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-18 10:28:13

    >>> 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
    中文
    

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:28:13

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

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

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

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-18 10:28:13

    循环输出,即可。

    Antwort
    0
  • StornierenAntwort