举例来说,在Linux Python 2.7.3中,我在字典中使用了未编码的字符é(带小巧的拉丁文小写字母E),然后尝试将其显示为é:

>>> mydict = {'mykey':u'é'}
>>> mydict.values()
[u'\xe9']
>>> mydict['mykey']
u'\xe9'
>>> str(mydict.values())
"[u'\\xe9']
>>> print mydict.values()
[u'\xe9']


事实上,当值以utf-8编码时,我面临着同样的挑战:

>>> cdict ={'key2':'é'}
>>> cdict
{'key2': '\xc3\xa9'}
>>> print cdict.values()
['\xc3\xa9']
>>> cdict['key2']
'\xc3\xa9'


从文档和几个类似的问题中搜索答案后,我没有找到答案。如果有人可以给我一个清晰的解释,并举例说明如何正确执行此操作,我将不胜感激。

最佳答案

您实际上必须尝试打印值,而不是它们所在的字典或列表。

例如:

>>> mydict = {'mykey':u'é'}
>>> for value in mydict.values():
...   print value
...
é

关于python - 如何显示unicode字典值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19096668/

10-10 10:05