本文从作者CSDN专栏 蓝桥杯 Python B组 同步
本专栏主要分享介绍蓝桥杯pythonB组备赛经验,希望可以帮到有需要的同学。
输入输出
输入
input()接收str,需要进行类型转换
单个数字输入:n = int(input())
多个数字输入:a, b = map(int, input().spilt(’’))
多个数字输入接收为列表:nums = list(map(int, input().spilt(’’)))
输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
## 隔空输出
a = [1,2,3,4]
print(' '.join(map(str,a))) #1 2 3 4
## 四舍五入
a = 3.1415926
print(int(a + 0.5))
## 保留两位
a = 3.1415926
print("%.2f"%a)
|
常用函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
abs() ## 取绝对值
divmod() ## 同时取商和余 divmod(7,2)->(3, 1)
sum() ## 求和
min() ## 求最小值
max() ## 求最大值
round() ## 四舍五入
‘%.3f’%x
"{:.3f}".format(x)
round(x,3) ## 保留3位小数
math.ceil() ## 向上取整
math.floor ## 向下取整
pow() ## 求幂 等价于** pow(25,1/2)开方
hex() ## 十进制转十六进制
oct() ## 十进制转八进制
bin() ## 十进制转二进制
bool() ## 将指定参数转为bool类型
float() ## 转换为浮点数
int() ## 转换为整数,其他进制转为十进制 int('11',2)->3
ord() ## 获取单个字符的ASCII数值
chr() ## 将整数转换为其值对应的ASCII/Unicode字符
range() ## 创建一个可迭代对象
all() ## 指定序列中所有元素都为True返回True否则返回False
any() ## 指定序列中只要有一个元素为True返回True否则返回False
sorted() ## 对可迭代对象进行排序
sorted(iters, key = lambda x: x + 1)
list() ## 将可迭代对象转换为列表
set() ## 创建一个无序不重复的元素集合
map() ## 通过自定义函数实现对序列的元素映射操作并返回操作后的结果
open() ## 打开文件并返回文件对象
fp.readlines() ## 读取文件所有行(包括换行符,可以使用line.strip('\n')删除)
format() ## 格式化数据 "{} {}".format("hello", "world")、"{:.2f}".format(3.1415926)
input() ## 接收用户输入并返回所输入的string类型数据
len() ## 返回一个对象的元素或项目个数
|
字符串操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
from collections import Counter
st = 'hello world'
Counter(st)
### Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
string.split(str="", num=string.count(str)) ## 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串,不填则默认为空格。
string.decode(encoding='UTF-8',errors='strict') ## 指定的编码格式解码字符串
string.encode(encoding='UTF-8',errors='strict') ## 指定的编码格式编码字符串
string.encode(encoding='UTF-8',errors='strict') ## 指定的编码格式编码字符串
string.count(str, beg=0, end=len(string)) ## 统计str出现次数,可指定开始/结束位置
string.endswith(str, beg=0, end=len(string)) ## 判断是否以str结束,可指定开始/结束位置
string.find(str, beg=0, end=len(string)) ## 查找str,未找到返回-1
string.index(str, beg=0, end=len(string)) ## 查找str,未找到抛出异常
string.join(seq) ## 将seq中的各项以string为连接符拼接
string.strip([obj]) ## 去除首位指定字符 等价于string.lstrip() -> string.rstrip()
string.upper() ## 转为大写
string.lower() ## 转为小写
string.swapcase() ## 转换大小写
|
时间日期操作
1
2
3
4
5
6
7
8
9
|
datetime.datetime.now() ## 2019-08-14 12:52:55.817273
datetime. datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
datetime.date(year,month,day)
datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])
datetime.strftime("%H")
|
列表操作
1
2
3
4
5
6
7
8
9
10
11
|
list.append() ## 增加
list.insert() ## 插入
list.pop() ## 删除
list[m:n] ## 切片,从m开始到n-1
list1=list[::-1] ## 表示list1是list的逆序
''.join(list) ## 把list中的元素合成一个字符串
|
正则表达式
1
2
3
4
5
|
import re
s = 'Regular 123 Expression 456'
re.findall(r'\d+',s)
|
匹配规则
^:匹配字符串开头
“*” 匹配前面的子表达式零次或多次
“+” 匹配前面的子表达式一次或多次
“?” 匹配前面的子表达式零次或一次
“[abc]” :方括号表示字符集合,例子表示一个字符串有一个 “a” 或 “b” 或 “c” 等价于 [z|b|c]
“[a-z]": 表示一个字符串中存在一个 a 和 z 之间的所有字母
“[^a-z]” :表示一个字符串中不应该出现 a 到 z 之间的任意一个字母
“[0-9]": 表示一个字符串中存在一个 0 和 9 之间的所有数字
“\d " 匹配一个数字字符,等价[0-9]
“\D " 匹配一个非数字字符,等价[^0-9]
“\w” 匹配包括下划线的任何单词字符。等价于”[A-Za-z0-9_]”
“\W” 匹配任何非单词字符。等价于”[^A-Za-z0-9_]”
注意:正则语法中^匹配行开头、\A匹配字符串开头,单行模式下它两效果一致,多行模式下\A不能识别