type
status
date
slug
summary
tags
category
icon
password
Last edited time
Jun 2, 2024 09:11 AM
多关键字排序,位运算,Counter,dafaultdict,字符串常量,reduce,格式化输出,多组输入
0 本节习题一览
多关键字排序习题:937. 重新排列日志文件
位运算习题:401. 二进制手表
计数习题:1189. “气球” 的最大数量
1 多关键字排序
list.sort()
函数是稳定的,即排序前后值相同的数据位置不发生改变sorted(x)
方法来对可迭代的序列排序生成新的序列,该函数同样是稳定的上述函数都接受指定
reverse
参数,默认为升序False
,传值为True
则为降序排列1.1 简易匿名函数
1.2 自定义比较函数
可实现较为复杂的排序规则,并且可以使用外部变量
多关键字排序习题:937. 重新排列日志文件
2 位运算
快速进行乘2除2
节省空间
快速实现二进制(01)枚举
求n的第k位数字:
n >> k & 1
左移举例
bin()
转二进制位运算习题:401. 二进制手表
3 计数 Counter
Counter()
是collections
里面的一个类,作用是计算出字符串或者列表等中不同元素出现的个数,返回值可以理解为一个字典键不存在时不会报错,默认返回0
用法示例:
计数习题:1189. “气球” 的最大数量
4 默认字典 defaultdict
当字典里的key不存在但被查找时,返回的不是
keyError
而是指定数据类型的默认值用法示例:
5 字符串常量
ㅤ | ㅤ |
ascii_lowercase | 'abcde……xyz' |
ascii_uppercase | 'ABCDE……XYZ' |
ㅤ | ㅤ |
ㅤ | ㅤ |
6 reduce
reduce有三个参数:
- function:有两个参数的额函数, 必需参数
- sequence: 元组、列表等可迭代对象, 必需参数
- inital: 初始值, 可选参数
执行过程:
在迭代sequence(
tuple
,list
,dictionary
, string
等可迭代类型)的过程中,- 首先把 前两个元素传给 函数参数,函数加工后,
- 然后把得到的结果和第三个元素作为两个参数传给函数参数,
- 函数加工后得到的结果又和第四个元素作为两个参数传给函数参数,依次类推
如果传入了
initial
值, 那么首先传的就不是 sequence
的第一个和第二个元素,而是 initial
值和 第一个元素。7 print格式化输出
1. 对齐
2. 填充
3. 精度控制
4. 数字格式化
输出结果:
8 多组输入
这种方法适用于交互式输入,逐行读取输入直到输入结束(例如,输入空行或使用 EOF(Ctrl+D 或 Ctrl+Z)终止输入)。
- 作者:ziuch
- 链接:https://ziuch.com/article/Python-Syntax-Supplement
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。