Python中使用str.format進行格式化輸出
format使用方法較多,這里只說明其在填充與對齊上的使用方法:
填充與對齊
填充常跟對齊一起使用
^、<、>分別是居中、左對齊、右對齊,后面帶寬度
:號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充
例如:
ulist.append([1,"清華大學","10" ]) ulist.append([2,"中國科學技術大學","10"]) ulist.append([3,"復旦大學","10"]) ulistOut[45]: [[1, '清華大學', '10'], [2, '中國科學技術大學', '10'], [3, '復旦大學', '10']] for ul in ulist: print("{:^6}/t{:^10}/t{:^6}".format(ul[0],ul[1],ul[2])) 1 清華大學 10 2 中國科學技術大學 10 3 復旦大學 10
其中print語句采用format格式化輸出{:^6}表示居中顯示,占6個字符寬度
但是會發現下面輸出語句中并沒有對齊,原因是當中文字符串長度沒有達到指定字符串長度時,默認會采用西文空格代替,而西文空格和中文空格長度不同,故導致中英文混輸時不對齊了。
解決方案如下:
采用chr(12288)表示中文空格
代碼修改如下:
for ul in ulist: print("{0:^6}/t{1:{3}^10}/t{2:^6}".format(ul[0],ul[1],ul[2],chr(12288))) 1 清華大學 10 2 中國科學技術大學 10 3 復旦大學 10
以上這篇解決Python 中英文混輸格式對齊的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答