python - 有没有办法在执行连接操作时证明子字符串的合理性

标签 python join string-formatting justify

我必须在行号指定的特定位置替换多行文本中的单词 和这一行中的单词编号。所有单词都在列中对齐。

我正在使用一种算法,通过它的坐标找到单词。

我正在获取指定行号处的一行,将其拆分为单独的子字符串 并用另一个词替换指定位置的一个词。 然后我加入(“”.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/

相关文章:

mysql - 在MySQL 5中,如何根据连接编写 "not exists"子查询?

objective-c - 将 int 转换为缩短的格式化字符串

使用来自多个列表的值的 Python 字符串格式

Python 近似分组依据

python - 获取第一个数组的行与第二个数组的行相匹配

mySQL 连接来自不同表的数据

c# - 将 datetime 解析为具有英语文化的月日时,仍将其解析为土耳其语

python - Django haystack whoosh 超慢

python - 尝试在 Google Colab 中加载 pickle 文件时出错

join - 获取 Hive 分区之间的增量更改