Python 以正确的编码打印列表项

Python 以正确的编码打印列表项,python,intellij-idea,encoding,console,pycharm,Python,Intellij Idea,Encoding,Console,Pycharm,我使用Pycharm/Intellij Idea。当我将带有变音符号的数据打印到控制台时,它会以正确的格式打印 print u"čipsy" čipsy 但当我打印包含变音符号的项目列表时,它会以原始格式打印它们 print [u"čipsy"] [u'\u010dipsy'] 是否可以使我的IDE以适当的格式打印?因此,输入将是: print [u"čipsy"] ['čipsy'] 发生这种情况的原因是,当您打印字符串时,它会在内部打印str(s)。打印列表时,列表的str()方法会在

我使用Pycharm/Intellij Idea。当我将带有变音符号的数据打印到控制台时,它会以正确的格式打印

print u"čipsy"
čipsy
但当我打印包含变音符号的项目列表时,它会以原始格式打印它们

print [u"čipsy"]
[u'\u010dipsy']
是否可以使我的IDE以适当的格式打印?因此,输入将是:

print [u"čipsy"]
['čipsy']

发生这种情况的原因是,当您打印字符串时,它会在内部打印str(s)。打印列表时,列表的str()方法会在内部获取列表项的repr()并打印它

例如

有关str和repr之间差异的更多信息,请参见以下问题:

据我所知,您最初的问题“是否可以使我的IDE以正确的格式打印它?”的答案可能是否定的,除非您将
list
子类化并重写str方法以获得所需的行为。然后需要确保要打印的列表是特殊列表子类的实例

>>> s = u'\u010dipsy'
>>> print s
čipsy
>>> print repr(s)
u'\u010dipsy'