Python随记(4)格式化 序列
2020-03-29 19:43
1621 查看
格式化
- 就是按照统一的规格去输出数据。
- format() 接收位置参数和关键字参数
"{} {}"f.ormat('hello','world') >>hello world
不带参数默认排序填充。‘{0} {1}’.formant('hello','world')
带位置参数。'{a} {b}'.format(a='hello',b='world')
带关键字参数。还可以通过字典设置参数dir={'a':1,'b':2} print('{a},{b}'.format(**dir)
可以通过列表索引设置参数list=[1,2] print('{0[0]} {0[1]}'.format(list) #'0'是必须的。
当位置参数和关键字参数综合在一起用,位置参数要在关键字参数前面否则会报错。
format的数字格式化:print("{:.2f}".format(3.1415926))
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
5 | {:0>2d} | 05 | 数字补零(填充左边宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
13 | {:>10d} | 右对齐 (默认, 宽度为10) | |
13 | {:<10d} | 左对齐 (宽度为10) | |
13 | {:^10d} | 中间对齐 (宽度为10) |
- 格式化操作符:%
符号 | 描述 | 辅助命令 | 含义 |
---|---|---|---|
%c | 格式化字符及其ASCII码 | m.n | m显示的是最小总宽度,n是小数点后位数 |
%s | 格式化字符串 | - | 左对齐 |
%d | 格式化整数 | + | 在正数前面加+号 |
%u | 格式化无符号整型 | # | 在八进制前显示‘0’,十六进制显示‘0x’ |
%o | 格式化无符号八进制数 | 0 | 显示数字前面填充’0‘代替空格 |
%x | 格式化无符号十六进制数 | 转义字符 | |
%X | 格式化无符号十六进制数(大写) | ’\ ’ 续行符 | \a 发出系统响铃 |
%f | 格式化浮点数字,可指定小数点后的精度 | \b 退格符 | \n 换行符 |
%e | 用科学计数法格式化浮点数 | \t 横向制表符(TAB) | \v 纵向制表符 |
%E | 作用同%e,用科学计数法格式化浮点数 | \r 回车符 | \f换页符 |
%g | %f和%e的简写 | \o,\x 八/十六进制 | \0 空字符 |
%G | %f 和 %E 的简写 | ||
%p | 用十六进制数格式化变量的地址 |
最近刚发现的%r 这个万能格式符,,它会将后面给的参数原样打印出来,带有类型信息。
print('r' % [1,2,3]) print('%r' % '1,2,3') print('%r' % 1.23) >>> [1,2,3] '1,2,3' 1.23
- f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。之前我们习惯用百分号 (%)。f-string 格式话字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:
a='123' f'{a}' >>'123' a='1+2' f'{a}' >>'3'
这样就不用判断是用%d 还是 %s 了。
序列
- 列表,元组,字符串。有很多共同点,都可以索引,可以切片,有很多共同的操作符。所以就统称序列。
- 常用BIF:
list(迭代对象)a=list('love') a>>['l','o','v','e']
tuple() 将迭代对象转换成元组 str() 转成字符串
len() 返回参数长度
max()/min() 返回参数中的最大最小值,使用时要保证数据类型的统一
sum(iterable,start) 返回序列iterable所有元素值的和,start可选参数,表示从哪开始默认是0 sorted(iterable,key=None,reverse=False) 返回一个排完序的列表(与列表内置方法sort()效果一样,sorted()是返回一个新列表sort()是原地排序)
reversed() 逆向排序效果与reverse()一样。reversed()返回的不是列表是一个迭代器,可以用for查看。 enumerate() 生成二元组(位置,元素)enumerate('12')>>(0,'1') (1,'2')
zip() 返回由各个可迭代参数共同组成的元组。
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 返回一个对象
zipped
<zip object at 0x103abc288>
list(zipped) # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
list(zip(a,c)) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
a1, a2 = zip(zip(a,b)) # 与 zip 相反,zip() 可理解为解压,返回二维矩阵式
list(a1)
[1, 2, 3]
list(a2)
[4, 5, 6]
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python转义序列,格式化字符串
- python的字符串格式化序列示例和字典示例
- Python随学随记(3)—— 序列类型(字符串、列表、元祖)
- python 中的字符串转义序列、字符串格式化、操作符、关键字总结
- Python零基础入门之五字符串的格式化以及序列的内置函数
- Python基础--不可变序列:元组
- Python中print/format字符串格式化实例
- Python学习笔记——元组,序列
- python字符串格式化之学习笔记
- Google开源的Python格式化工具YAPF的安装和使用教程
- python,时间加减,时间计算,时间格式化,时间提取汇总
- python小技巧1 格式化输出
- Python时间序列LSTM预测系列教程(9)-多变量
- 快速理解Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容的区别
- Python 版本3和版本2 的字符串格式化区别 ----%s
- Python--字符串格式化format函数
- Python - 反向遍历序列(列表、字符串、元组等)的五种方式
- 爱奇艺校招----DNA序列(python)
- python学习第二章(序列)
- python 序列类型