Python 中英文混輸格式對齊問題

2021-08-07 12:56:56 字數 985 閱讀 1707

python中使用str.format進行格式化輸出

format使用方法較多,這裡只說明其在填充與對齊上的使用方法:

填充常跟對齊一起使用

^、<、>分別是居中、左對齊、右對齊,後面帶寬度

:號後面帶填充的字元,只能是乙個字元,不指定的話預設是用空格填充

例如:ulist

out[45]: [[1, '清華大學', '10'], [2, '中國科學技術大學', '10'], [3, '復旦大學', '10']]

for ul in ulist:

print("\t\t".format(ul[0],ul[1],ul[2]))

1 清華大學 10

2 中國科學技術大學 10

3 復旦大學 10

其中print語句採用format格式化輸出表示居中顯示,佔6個字元寬度 

但是會發現下面輸出語句中並沒有對齊,原因是當中文字串長度沒有達到指定字串長度時,缺省會採用西文空格代替,而西文空格和中文空格長度不同,故導致中英文混輸時不對齊了。

解決方案如下:

採用chr(12288)表示中文空格

**修改如下:

for ul in ulist:

print("\t^10}\t".format(ul[0],ul[1],ul[2],chr(12288)))

1    清華大學    10

2  中國科學技術大學  10

3    復旦大學    10

此時可以發現**輸出已經對齊了。

這裡說明乙個問題^10},這個裡面1和3對應format裡面的順序,而「:」 後面的內容表示填充內容,當長度不夠時將自動填充

Python 中英文混輸格式對齊問題

最近學習python爬蟲案例輸出中國大學排名時,碰見了在使用format函式對字串進行格式化輸出時存在中英文輸出格式對齊問題 輸出語句的 for ul in ulist print t t format ul 0 ul 1 ul 2 採用chr 12288 表示中文空格 修改後的 列印表頭,並處理中...

python 中英文 分離 中英文分離

由於沒有安裝 numpy 根據部落格提示,成功安裝了numpy 執行之後沒有錯誤,可是嘛,我看不到結果。也就隨它去了。主要有兩個問題,乙個是執行的時候出現的 valueerror need more than 0 values to unpack 對於空行就會報錯。不機智。於是加了個判斷。讓它一直走...

iconv substr擷取php中英文混排字串

php5中解決中英文混排字串的函式包括iconv substr iconv strpos iconv strlen substr 函式可以分割文字,但要分割的文字如果包括中文字元往往會遇到問題,這時可以用mb substr mb strcut這個函式,mb substr mb strcut的用法與s...