天天看點

python字元串對齊_解決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()函數也可以用來輕松完成對齊的任務。需要做的就是合理利用'<'、'>',或'^'字元以及一個期望的寬度值[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()的好處之一是它并不是特定于字元串的。它能作用于任何值,這使得它更加通用。例如,可以對數字做格式化處理:

>>> x = 1.2345

>>> format(x, '>10')

' 1.2345'

>>> format(x, '^10.2f')

' 1.23 '

讨論

在比較老的代碼中,通常會發現%操作符用來格式化文本。例如:

>>> '%-20s' % text

'Hello World '

>>> '%20s' % text

' Hello World'

但是在新的代碼中,我們應該會更鐘情于使用format()函數或方法。format()比%操作符提供的功能要強大多了。此外,format()可作用于任意類型的對象,比字元串的ljust()、rjust()以及center()方法要更加通用。

總結

以上所述是小編給大家介紹的解決Python對齊文本字元串問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對腳本之家網站的支援!

如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!