例如,在Linux Python 2.7.3中,我在字典中使用了unicoded characteré(带锐音符的拉丁文小写字母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'
在从文档和几个类似的问题中搜索答案之后,我还没有找到答案。如果有人能给我一个明确的解释,并举例说明如何正确地做到这一点,我将不胜感激。你知道吗
在Python中,打印
dict
将打印其键/值repr
,而不是它们的str
。要按所需方式打印此代码段,请执行以下操作:Obs.:在python2中,unicode字符串
repr
被引号包围,但它们的str
不是,如果不需要,请删除单引号。你知道吗解释器输出对象的字符串表示。如另一个答案所述,如果您打印值,您将正确显示字符。你知道吗
否则,您必须自己构建字符串:
您必须实际尝试打印值,而不是它们所在的dict或list。你知道吗
例如:
相关问题 更多 >
编程相关推荐