解決Python對齊文本字符串問題
問題
我們需要以某種對齊方式將文本做格式化處理。
解決方案
對于基本的字符串對齊要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:
>>> text = 'Hello World' >>> text.ljust(20) 'Hello World ' >>> text.rjust(20) ' Hello World' >>> text.center(20) ' Hello World ' >>>
所有這些方法都可接受一個可選的填充字符。例如:
>>> text.rjust(20,'=') '=========Hello World' >>> text.center(20,'*') '****Hello World*****' >>>
format()函數(shù)也可以用來輕松完成對齊的任務(wù)。需要做的就是合理利用'<'、'>',或'^'字符以及一個期望的寬度值[2]。例如:
>>> format(text, '>20') ' Hello World' >>> format(text, '<20') 'Hello World ' >>> format(text, '^20') ' Hello World ' >>>
如果想包含空格之外的填充字符,可以在對齊字符之前指定:
>>> format(text, '=>20s') '=========Hello World' >>> format(text, '*^20s') '****Hello World*****' >>>
當格式化多個值時,這些格式化代碼也可以用在format()方法中。例如:
>>> '{:>10s} {:>10s}'.format('Hello', 'World') ' Hello World' >>>
format()的好處之一是它并不是特定于字符串的。它能作用于任何值,這使得它更加通用。例如,可以對數(shù)字做格式化處理:
>>> x = 1.2345 >>> format(x, '>10') ' 1.2345' >>> format(x, '^10.2f') ' 1.23 '
討論
在比較老的代碼中,通常會發(fā)現(xiàn)%操作符用來格式化文本。例如:
>>> '%-20s' % text
'Hello World '
>>> '%20s' % text
' Hello World'
但是在新的代碼中,我們應(yīng)該會更鐘情于使用format()函數(shù)或方法。format()比%操作符提供的功能要強大多了。此外,format()可作用于任意類型的對象,比字符串的ljust()、rjust()以及center()方法要更加通用。
總結(jié)
以上所述是小編給大家介紹的解決Python對齊文本字符串問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
pytorch實現(xiàn)mnist數(shù)據(jù)集的圖像可視化及保存
今天小編就為大家分享一篇pytorch實現(xiàn)mnist數(shù)據(jù)集的圖像可視化及保存,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python pandas自定義函數(shù)的使用方法示例
這篇文章主要介紹了Python pandas自定義函數(shù)的使用方法,結(jié)合實例形式分析了pandas模塊相關(guān)自定義函數(shù)數(shù)值運算操作技巧,需要的朋友可以參考下2019-11-11Python在centos7.6上安裝python3.9的詳細教程(默認python版本為2.7.5)
這篇文章主要介紹了Python在centos7.6上安裝python3.9(默認python版本為2.7.5)的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-10-10Python3中的re.findall()方法及re.compile()
這篇文章主要介紹了Python3中的re.findall()方法及re.compile(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05