問題
我們需要以某種對齊方式將文字做格式化處理。
解決方案
對於基本的字串對齊要求,可以使用字串的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...