Python给出了输出';u';字符,然后再显示任何内容?
我是python新手,在将输出显示到屏幕时,我在python控制台中得到了一些奇怪的东西Python给出了输出';u';字符,然后再显示任何内容?,python,Python,我是python新手,在将输出显示到屏幕时,我在python控制台中得到了一些奇怪的东西 >>> macbeth_sentsence = gutenberg.sents('shakespeare-macbeth.txt'); >>> macbeth_sentsence [[u'[', u'The', u'Tragedie', u'of', u'Macbeth', u'by', u'William', u'Shakespeare', u'1603', u']']
>>> macbeth_sentsence = gutenberg.sents('shakespeare-macbeth.txt');
>>> macbeth_sentsence
[[u'[', u'The', u'Tragedie', u'of', u'Macbeth', u'by', u'William', u'Shakespeare', u'1603', u']'], [u'Actus', u'Primus', u'.'], ...]
我不希望在输出屏幕中出现额外的“u”字符
有人知道如何抑制吗?与默认python设置有关吗
以下更新:适用于不理解我想要解决的问题的人。 当在我的Windows系统中的Vbox中执行相同的命令时 我得到了这样的东西:
>>> macbeth_sentsence = gutenberg.sents('shakespeare-macbeth.txt');
>>> macbeth_sentsence
[['[', 'The', 'Tragedie', 'of', 'Macbeth', 'by', 'William', 'Shakespeare', '1603', ']'], ['Actus', 'Primus', '.'], ...]
我想在我的Mac电脑上得到同样的结果;我必须对我的默认值做什么调整才能得到像在Windows中那样的结果
附言:
答案如下:
这是:
这个:不是我想要的。它只是指示一个unicode字符串。 看见
这是一个Unicode字符串,您可以通过将其转换为ascii来执行以下操作:
macbeth_sentence = [[i.encode() for i in j] for j in macbeth_sentence]
这只是意味着它是一个unicode字符串。如果您实际使用
print
打印字符串,您将看不到。这是一个unicodeu
,为什么要删除它们?您将看到repr()
表示,它为您提供了一种格式,允许您在新的Python会话中重现值。对调试总是很有帮助。@PadraicCunningham是的,我理解,但为什么它只显示在那里给我看?我在别人的屏幕上看不到这些东西,但只有我的@larsks~好吧,是的,没错,但我该如何移除它们呢?与默认值有关吗?@MartijnPieters很高兴知道这一点,但我现在还没有调试,你能告诉我如何抑制它并在需要时才使用它吗?你链接到的帖子与容器(如列表)中的unicode表示无关。撤销了投票,但这并没有回答我的问题。如何使这种改变永久化。它是永久性的。尝试打印new
,您将看到前面没有u。我认为OP的意思是如何在原始版本中执行list@MalikBrahimi~permanent我的意思是,如果下次我写下类似{>>>麦克白•森特西=gutenberg.sents('shakespeare-macbeth.txt');>>>麦克白•森特西}这样的东西,我不必对麦克白•森特西进行编码,但如果没有美国,它应该是默认的。现在ikis这样好吗?我使用列表理解来迭代整个嵌套列表,并将每个字符串编码为ascii。