python 中英文对齐_解决Python 中英文混输格式对齐的问题

博客介绍了Python中使用str.format进行格式化输出时,遇到中英文混合导致的对齐问题及其解决方案。通过示例代码展示了如何使用chr(12288)表示中文空格来实现对齐,并提供了相关编码转换的错误处理方法。
摘要由CSDN通过智能技术生成

解决Python 中英文混输格式对齐的问题

Python中使用str.format进行格式化输出

format使用方法较多,这里只说明其在填充与对齐上的使用方法:

填充与对齐

填充常跟对齐一起使用

^、分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

例如:

ulist.append([1,"清华大学","10" ])

ulist.append([2,"中国科学技术大学","10"])

ulist.append([3,"复旦大学","10"])

ulist

Out[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(1228

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值