2024-10-03 06:21:37 发布
网友
我正在寻找一种简单的、pythonic的方法,用最少的计算和循环来实现这一点
我有很多字符串,比如:
1 + 2 = 3 2*6 + 13 = 25
我想在屏幕上打印的内容是:
xxx1 + 2 = 3 2*6 + 13 = 25
(其中x实际上是空格,但我不知道如何用这个编辑器显示它)
x
我知道使用左对齐和右对齐的字符串格式,但这意味着每个字符串都要计算要添加的空格数,将其转换为字符串,并将其注入字符串对齐格式设置器,这似乎很复杂
有没有更简单的方法
如果知道相等信号之前字符串的最大大小,则可以在信号中拆分字符串,然后使用格式化方法(https://pyformat.info/)将其合并。如果您不知道,则必须首先检查它,最好的方法取决于如何存储字符串
string = '1+4+3=2' split = string.split('=') new_string = '{:>10}={}'.format(*split)
根据您提供的信息,这可能适用于:
lst = [ '1 + 2 = 3', '2*6 + 13 = 25', '2*6 = 12', '2 = 12 - 10' ] mxleft = max([e.index('=') for e in lst]) l2 = [e.split('=')[0].rjust(mxleft) + '=' + e.split('=')[1] for e in lst] print('\n'.join(l2))
输出
1 + 2 = 3 2*6 + 13 = 25 2*6 = 12 2 = 12 - 10
如果知道相等信号之前字符串的最大大小,则可以在信号中拆分字符串,然后使用格式化方法(https://pyformat.info/)将其合并。如果您不知道,则必须首先检查它,最好的方法取决于如何存储字符串
根据您提供的信息,这可能适用于:
输出
相关问题 更多 >
编程相关推荐