gpt4 book ai didi

python - 不带换行符打印 (print 'a' ,) 打印一个空格,如何删除?

转载 作者:IT老高 更新时间:2023-10-28 12:34:03 28 4
gpt4 key购买 nike

我有这个代码:

>>> 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

有可能吗?

最佳答案

有多种方法可以实现您的结果。如果您只是想为您的案例提供解决方案,请使用 string multiplication@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() function ,它允许您设置 end 参数。您可以通过从 __future__ 导入在 >=2.6 中使用它。不过,我会在任何严肃的 2.x 代码中避免这种情况,因为这对于那些从未使用过 3.x 的人来说会有点困惑。不过,它应该让您体验到 3.x 带来的一些好处。

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

关于python - 不带换行符打印 (print 'a' ,) 打印一个空格,如何删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4499073/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com