我必须在行号指定的特定位置替换多行文本中的单词 和这一行中的单词编号。所有单词都在列中对齐。
我正在使用一种算法,通过它的坐标找到单词。
我正在获取指定行号处的一行,将其拆分为单独的子字符串 并用另一个词替换指定位置的一个词。 然后我加入(“”.join())并将修改后的行写回到文件中。 我的问题是我在修改后的行中丢失了单词对齐。 我怎样才能同时证明和加入? (一行中的其他单词也丢失 对齐,不仅仅是修饰词)
如果我通过拆分一条线来使用一些不同的方法,我想我可以做到 刚好在要修改单词的位置,没想到会丢失 在单词边界处分割一行后对齐。
最佳答案
您可以在加入之前在列表理解中应用格式(使用 format()
或 str.format()
):
''.join([format(el, '<10') for el in list_of_strings])
演示:
>>> list_of_strings = ['foo', 'barbaz', 'spam-ham']
>>> ''.join([format(el, '<10') for el in list_of_strings])
'foo barbaz spam-ham '
<
左对齐,>
右对齐 ^
将文本以给定宽度居中(上例中为 10)。有关格式化工作原理的更多详细信息,请参阅 format specification documentation .
向右调整为 4 个空格的演示:
>>> list_of_strings = ['foo', 'ba', 'a']
>>> ''.join([format(el, '>4') for el in list_of_strings])
' foo ba a'
关于python - 有没有办法在执行连接操作时证明子字符串的合理性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15466859/