无换行打印(print 'a',) 打印一个空格,如何去除?

您所在的位置:网站首页 printf打印换行 无换行打印(print 'a',) 打印一个空格,如何去除?

无换行打印(print 'a',) 打印一个空格,如何去除?

2023-03-22 08:39| 来源: 网络整理| 查看: 265

回答问题

我有这个代码:

>>> for i in xrange(20): ... print 'a', ... a a a a a a a a a a a a a a a a a a a a

我想输出'a',没有' '像这样:

aaaaaaaaaaaaaaaaaaaa

可能吗?

Answers

有多种方法可以实现您的结果。如果您只是想为您的案例提供解决方案,请使用字符串乘法作为@Ant提及。只有当您的每个print语句都打印相同的字符串时,这才会起作用。请注意,它适用于任何长度字符串的乘法(例如'foo' * 20有效)。

>>> print 'a' * 20 aaaaaaaaaaaaaaaaaaaa

如果您想在一般情况下执行此操作,请构建一个字符串,然后打印一次。这会为字符串消耗一点内存,但只调用一次print。请注意,使用+=的字符串连接现在与您要连接的字符串的大小呈线性关系,因此速度会很快。

>>> for i in xrange(20): ... s += 'a' ... >>> print s aaaaaaaaaaaaaaaaaaaa

或者你可以更直接地使用sys.stdout。write(),其中print是一个包装器。这将只写你给它的原始字符串,没有任何格式。请注意,即使在 20 个as 的末尾也不会打印换行符。

>>> import sys >>> for i in xrange(20): ... sys.stdout.write('a') ... aaaaaaaaaaaaaaaaaaaa>>>

Python 3 将print语句更改为print() 函数,它允许您设置end参数。您可以通过从__future__导入在 >u003d2.6 中使用它。不过,我会在任何严肃的 2.x 代码中避免这种情况,因为这对于那些从未使用过 3.x 的人来说会有点混乱。但是,它应该让您体验到 3.x 带来的一些好处。

>>> from __future__ import print_function >>> for i in xrange(20): ... print('a', end='') ... aaaaaaaaaaaaaaaaaaaa>>>


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3