python format 中文对齐_python常用检索

1.转义符(print内的)

表 1 Python 支持的转义字符转义字符说明

n换行符,将光标位置移到下一行开头。

r回车符,将光标位置移到本行开头。

t水平制表符,也即 Tab 键,一般相当于四个空格。

a蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。

b退格(Backspace),将光标位置移到前一列。

反斜线 '单引号 "双引号

在字符串行尾的续行符,即一行未完,转到下一行继续写。

2.

10b41ff767d461c7853cb5806a26c032.png

3.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(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

此时可以发现代码输出已经对齐了。

这里说明一个问题{1:{3}^10},这个里面1和3对应format里面的顺序,而“:” 后面的内容表示填充内容,当长度不够时将自动填充

4.二维列表排序

sorted(students,key=(lambda x:x[0])),二维中的第一个元素排,升序

sorted(students,key=(lambda x:x[2]),reverse=True)降序

按年龄为主要关键字,名字为次要关键字倒序排序:(意思是如果年龄相同时第二个比较什么)

sorted(students,key=(lambda x:[x[2],x[1]]),reverse=True)

a3a666e074346b690b27d903ea6b924e.png

8950c7a236ad89ea177e2c53fc3d349b.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值