解决Python对齐文本字符串问题
问题
我们需要以某种对齐方式将文本做格式化处理。
解决方案
对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:
>>>text='HelloWorld' >>>text.ljust(20) 'HelloWorld' >>>text.rjust(20) 'HelloWorld' >>>text.center(20) 'HelloWorld' >>>
所有这些方法都可接受一个可选的填充字符。例如:
>>>text.rjust(20,'=') '=========HelloWorld' >>>text.center(20,'*') '****HelloWorld*****' >>>
format()函数也可以用来轻松完成对齐的任务。需要做的就是合理利用'<'、'>',或'^'字符以及一个期望的宽度值[2]。例如:
>>>format(text,'>20') 'HelloWorld' >>>format(text,'<20') 'HelloWorld' >>>format(text,'^20') 'HelloWorld' >>>
如果想包含空格之外的填充字符,可以在对齐字符之前指定:
>>>format(text,'=>20s') '=========HelloWorld' >>>format(text,'*^20s') '****HelloWorld*****' >>>
当格式化多个值时,这些格式化代码也可以用在format()方法中。例如:
>>>'{:>10s}{:>10s}'.format('Hello','World') 'HelloWorld' >>>
format()的好处之一是它并不是特定于字符串的。它能作用于任何值,这使得它更加通用。例如,可以对数字做格式化处理:
>>>x=1.2345 >>>format(x,'>10') '1.2345' >>>format(x,'^10.2f') '1.23'
讨论
在比较老的代码中,通常会发现%操作符用来格式化文本。例如:
>>>'%-20s'%text
'HelloWorld'
>>>'%20s'%text
' HelloWorld'
但是在新的代码中,我们应该会更钟情于使用format()函数或方法。format()比%操作符提供的功能要强大多了。此外,format()可作用于任意类型的对象,比字符串的ljust()、rjust()以及center()方法要更加通用。
总结
以上所述是小编给大家介绍的解决Python对齐文本字符串问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。