在一行上用空格分隔多次打印字符串的pythonic方法是什么?

2024-04-20 04:55:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在用空格分隔的行上多次打印字符串。你知道吗

我试过几个版本的字符串乘法,比如string * 3。 我也尝试过" ".join(),但是我在每个字符之间获得空格,而不是每个字符串。我认为join需要一个列表而不是一个字符串。你知道吗

下面是我的代码的详细版本: fout.write(info[2]+" "+info[2]+" "+info[2]+'\n')

另一个版本是在每个字符串前插入字母x: fout.write("x"+info[2]+" x"+info[2]+" x"+info[2]+'\n')

我的代码可以工作,但似乎有一种更为python的方式,比如我打印整个列表的版本,称为info,而不是仅仅重复info[2]: fout.write(" ".join(x)+'\n')其中x是列表。你知道吗


Tags: 字符串代码版本info列表string字母方式
3条回答

字符串乘法是正确的想法。你知道吗

print(((string+' ') * 3).rstrip())

rstrip()只删除尾随空格

如果字符串包含尾随空格,则rstrip()将错误地删除它。在这种情况下,请改用切片:

print(((string+' ') * 3)[:-1])

将字符串放入列表中

print(' '.join(['hello']*3))

'hello hello hello'

我个人会这么做:

' '.join([string for _ in range(3)])

使用带有str.join的列表速度更快,因为Python无论如何都会在列表中用尽生成器表达式。你知道吗

相关问题 更多 >