我需要在字符串中对齐分号。例如:
Input:
1-1: abc
1-2-1: defghi
1-2-1a: jklmnopqr
1-2-1a-1-1-1a: stuvwxyz
Ouput:
1-1 : abc
1-2-1 : defghi
1-2-1a : jklmnopqr
1-2-1a-1-1-1a: stuvwxyz
下面是我的解决方案
strs = ['1-1: abc', '2-2-2: defghi', '3-3-3b: jklmnopqr', '1-2-1a-1-1-1a: stuvwxyz']
lengths = [s.find(':') for s in strs]
for i, s in enumerate(strs):
if lengths[i] == -1:
new_strs.append(s)
else:
new_strs.append(s[:lengths[i]] + ' ' * (max(lengths) - lengths[i]) + s[lengths[i]:])
有什么简单的方法可以实现吗?多谢各位
在尝试对齐输出时,像
ljust
和rjust
这样的函数是您的朋友:或者稍微不那么紧凑:
pythonf-strings允许您引用当前命名空间中的变量。此外,其格式规范还允许字段描述符也来自变量。拆分字符串的两部分后,在冒号左侧找到最长的值,就可以填充所有的值
相关问题 更多 >
编程相关推荐