python - 在一行上多次打印字符串的pythonic方法是什么,用空格分隔?
问题描述
我想在以空格分隔的行上多次打印一个字符串。
我尝试了几个版本的字符串乘法,比如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')
我的代码有效,但似乎有一种更 Pythonic 的方式,比如我打印整个列表的版本,称为 info 而不仅仅是 info[2] 重复:
fout.write(" ".join(x)+'\n')
其中 x 是列表。
解决方案
字符串乘法是正确的想法。
print(((string+' ') * 3).rstrip())
rstrip()
仅删除尾随空格
如果您的字符串包含尾随空格,rstrip()
则将错误地删除它。在这种情况下,请改用切片:
print(((string+' ') * 3)[:-1])
推荐阅读
- reactjs - React-materialize Chip - Javascript 插件 - 自动完成:如何更新状态变量
- c# - FluentValidation:使用来自其他属性的值自定义错误消息
- hide - 隐藏/显示 Amcharts 项目符号不起作用
- node.js - 连接多个MongoDB数据库
- javascript - 如何“禁用”一个 HTML 输入元素,直到它被点击?
- c - 使用串口用电脑替换打印机
- javascript - 在幻灯片之外的 Swiper Slider 中渲染标题
- ios - 该应用程序完美运行 6-8 次,然后崩溃
- nginx - 对 websocket 的入口支持
- elasticsearch - 在 Elasticsearch 7.6 中用空格突出显示单词