解決Python對齊文字字串問題

2022-10-04 16:18:21 字數 1532 閱讀 8238

問題

我們需要以某種對齊方式將文字做格式化處理。

解決方案

對於基本的字串對齊要求,可以使用字串的ljust()、rjust()和程式設計客棧center()方法。示例如下:

>>> text = 'hello world'

>>> text.ljust(20)

'hello world '

>>> text.rjuthlmvuayzgst(20)

' hello world'

>>> text.center(20)

' helthlmvuayzglo world '

>>>

所有這些方法都可接受乙個可選的填充字元。例如:

>>> text.rjust(20,'=')

'*****====hello world'

>>> te程式設計客棧xt.center(20,'*')

'****hello world*****'

>>>

format()函式也可以用來輕鬆完成對齊的任務。需要做的就是合理利用'',或'^'字元以及乙個期望的寬度值[2]。例如:

>>> format(text, '>20')

' hello world'

>>> format(text, '<20')

'hello world '

>>> format(text, '^20')

' hello worl程式設計客棧d '

>>>

如果想包含空格之外的填充字元,可以在對齊字元之前指定:

>>> format(text, '=>20s')

'*****====hello world'

>>> format(text, '*^20s')

'****hello world*****'

>>>

當格式化多個值時,這些格式化**也可以用在format()方法中。例如:

>>> ' '.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對齊文字字串問題

本文位址:

cut 提取文字字串

業務同學發過來乙個需求,需要統計日誌記錄中匹配關鍵字 eco x 的數量有多少 19 01 18 16 28 56.943 forkjoinpool.commonpool worker 4 info com.ecall.fasteroms.distribution.task.autosplitout...

python文字 字串逐字元反轉以及逐單詞反轉

python 文字字串逐字元反轉以及逐單詞反轉 場景 字串逐字元反轉以及逐單詞反轉 首先來看字串逐字元反轉,由於 python 提供了非常有用的切片,所以只需要一句就可以搞定了 a abc edf degd a 1 dged fde cba 然後我們來看住單詞反轉 1.同樣的我們也可以使用切片 a ...

python文字字元分析

編寫程式接收字串,按字元出現頻率的降序列印字母。分別嘗試錄入一些中英文文章片段,比較不同語言之間字元頻率的差別。a6.4calletter txt input 請輸入一段英文片段 txt txt.lower count for i in range 97 123 count chr i txt.co...