Python中使用str.format進(jìn)行格式化輸出
format使用方法較多,這里只說(shuō)明其在填充與對(duì)齊上的使用方法:
填充與對(duì)齊
填充常跟對(duì)齊一起使用
^、<、>分別是居中、左對(duì)齊、右對(duì)齊,后面帶寬度
:號(hào)后面帶填充的字符,只能是一個(gè)字符,不指定的話默認(rèn)是用空格填充
例如:
ulist.append([1,"清華大學(xué)","10" ]) ulist.append([2,"中國(guó)科學(xué)技術(shù)大學(xué)","10"]) ulist.append([3,"復(fù)旦大學(xué)","10"]) ulistOut[45]: [[1, '清華大學(xué)', '10'], [2, '中國(guó)科學(xué)技術(shù)大學(xué)', '10'], [3, '復(fù)旦大學(xué)', '10']] for ul in ulist: print("{:^6}/t{:^10}/t{:^6}".format(ul[0],ul[1],ul[2])) 1 清華大學(xué) 10 2 中國(guó)科學(xué)技術(shù)大學(xué) 10 3 復(fù)旦大學(xué) 10
其中print語(yǔ)句采用format格式化輸出{:^6}表示居中顯示,占6個(gè)字符寬度
但是會(huì)發(fā)現(xiàn)下面輸出語(yǔ)句中并沒(méi)有對(duì)齊,原因是當(dāng)中文字符串長(zhǎng)度沒(méi)有達(dá)到指定字符串長(zhǎng)度時(shí),默認(rèn)會(huì)采用西文空格代替,而西文空格和中文空格長(zhǎng)度不同,故導(dǎo)致中英文混輸時(shí)不對(duì)齊了。
解決方案如下:
采用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 清華大學(xué) 10 2 中國(guó)科學(xué)技術(shù)大學(xué) 10 3 復(fù)旦大學(xué) 10
以上這篇解決Python 中英文混輸格式對(duì)齊的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選