Ope*_*fan 1 python join string-formatting justify
我必须在此行中由行号和单词编号指定的特定位置替换多行文本中的单词.所有单词都按列对齐.
我正在使用一种算法,我正在通过它的坐标找到单词.
我在指定的行号处获取一行,将其拆分为单独的子句,并用另一个单词替换指定位置的单词.然后我加入("".join())并将修改后的行写回文件.我的问题是我在修改后的行中失去了单词对齐.我怎样才能在同一时间证明和加入?(一行中的其他单词也会失去对齐,而不仅仅是修改后的单词)
我想我可以做到这一点,如果我通过在要修改的单词的位置处分割一条线来使用一点点不同的方法,但我没有意识到在单词边界处分割一条线之后我将失去对齐.
您可以在加入之前在列表推导中应用格式(带format()或str.format()):
''.join([format(el, '<10') for el in list_of_strings])
Run Code Online (Sandbox Code Playgroud)
演示:
>>> list_of_strings = ['foo', 'barbaz', 'spam-ham']
>>> ''.join([format(el, '<10') for el in list_of_strings])
'foo barbaz spam-ham '
Run Code Online (Sandbox Code Playgroud)
<左对齐,>右对齐和^居中给定宽度的文本(上例中为10).有关格式化工作原理的更多详细信息,请参阅格式规范文档.
正确调整到4个空间的演示:
>>> list_of_strings = ['foo', 'ba', 'a']
>>> ''.join([format(el, '>4') for el in list_of_strings])
' foo ba a'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |