簡體   English   中英

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

[英]What is a pythonic way to print a string multiple times on one line, separated by spaces?

我想在用空格分隔的一行上多次打印字符串。

我嘗試了幾種字符串乘法版本,例如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 [2]的信息: fout.write(" ".join(x)+'\\n') ,其中x是列表。

字符串乘法是正確的想法。

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

rstrip()僅刪除尾隨空格

如果您的字符串包含尾隨空格,則rstrip()將錯誤地將其刪除。 在這種情況下,請改用切片:

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

就個人而言,我會這樣做:

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

將列表與str.join一起str.join會更快,因為Python無論如何都會將生成器表達式耗盡到列表中。

將字符串放在列表中

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

'hello hello hello'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM