前言
博主在写笔记时准备的是本科生B组赛道,内容可供准备同样赛道及以下的同学参考。
希望各位同学蒙的全对,考的全会。
如果对你有帮助,可以点赞评论鼓励一下博主吗?拜托拜托——
言归正传,整篇笔记共分为十章,都是博主在准备25年蓝桥杯时所写,听的网课是这个,讲的非常好,很适合零基础速成,如果有听不懂的可以多听几遍
https://www.bilibili.com/video/BV1Zs9VYrEgg?spm_id_from=333.788.videopod.sections&vd_source=5edde23df276e6fb4a94821fa44f38b5
目录如下:
1.Python语法基础及算法入门 2.语法进阶&常用数据结构&算法入门 3.贪心&排序 4.哈希&暴力&前缀 5.二分查找&二分答案 6.搜索&BFS&DFS 7.[数据结构]并查集&堆 8.动态规划 9.图论 10.数论基础&日期问题
一、语法基础
(一)标识符
(二)保留字
(三)字符串
- 连接:使用 + 运算符,例:"abc"+"def"="abcdef"
- 重复:使用 * 运算符,例:"ab"*2="abab"
- 正向索引:从左往右,起始值为 0
- 反向索引:从右往左,起始值为 – 1
- 例:设 s='123456789'
- print (s) → 输出:123456789
- print (s [0:-1]) → 输出:12345678(第一个到倒数第二个字符)
- print (s [0]) → 输出:1(第一个字符)
- print (s [2:5]) → 输出:345(第三个到第六个字符,不包含第六个)
- print (s [2:]) → 输出:3456789(第三个开始后的所有字符)
- print (s [1:5:2]) → 输出:24(第二个到第五个字符,步长为 2)
(四)模块导入
(五)print 函数
- f-string 格式:print (f"{变量名}"),例:name="Alice";print (f"Hello,{name}") → 输出:Hello,Alice
- 使用 print (*list) 快速输出列表内容
- 结合 sep 和 end 参数控制输出格式
(六)数据类型
| 整数 | int | 支持大整数运算 | a=10**100 |
| 浮点数 | float | 存在精度问题 | b=3.14 |
| 字符串 | str | 不可变序列,支持切片和格式化 | s="Hello" |
| 列表 | list | 可变序列,支持增删改查 | lst=[1,2,3] |
| 元组 | tuple | 不可变序列 | tup=(1,2,3) |
| 集合 | set | 无序不重复,支持集合运算 | s={1,2,3} |
| 字典 | dict | 键值对映射,键唯一且不可变 | d={"key":"value"} |
- 不可变类型:整数、字符串、元组
- 可变类型:列表、字典、集合
(七)函数
- 函数体
- 返回值:通过 return 语句返回,例: def add(a,b):
return a+b
print(add(1,2)) # 输出:3
return x**n
print(power(3)) # 输出:9
- 位置可变参数(*args):接收任意数量位置参数,打包为元组,例: def sum_all(*args):
return sum(args)
print(sum_all(1,2,3)) # 输出:6 - 关键字可变参数(**kwargs):接收任意数量关键字参数,打包为字典,例: def print_info(**kwargs):
for key,value in kwargs.items():
print(f"{key}:{value}")
print_info(name="Alice",age=25) # 输出:name:Alice, age:25
- 语法:lambda 参数列表:表达式(冒号前为输入参数,冒号后为返回表达式)
- 特性:无函数名,仅含一个表达式,计算结果即为返回值
- 示例 1: x=lambda a:a+10
print(x(5)) # 输出:15 - 示例 2(获取中位数): get_mid=lambda nums: nums[len(nums)//2]
print(get_mid([1,4,5])) # 输出:4
二、算法入门
(一)快读模板
input=lambda: sys.stdin.readline().strip()
(二)内置排序算法
- 语法:sorted (可迭代对象,key=None, reverse=False)
- 特性:不修改原可迭代对象,返回排序后的新列表
- 参数说明:
- key:排序规则(可指定函数)
- reverse:排序方向,False 为升序(默认),True 为降序
- 示例 1(默认升序): nums=[5,3,8,6,7]
print(sorted(nums)) # 输出:[3,5,6,7,8] - 示例 2(降序排序): print(sorted(nums, reverse=True)) # 输出:[8,7,6,5,3]
- 示例 3(按字符串长度排序): words=["apple","banana","kiwi","cherry"]
print(sorted(words, key=len)) # 输出:["kiwi","apple","cherry","banana"]
- 语法:列表名.sort (key=None, reverse=False)
- 特性:直接修改原列表,无返回值
- 参数说明:与 sorted 函数一致
(三)输入与 map 映射
- 示例 1(单行多个整数): a,b,c=map(int,input().split()) # 输入:1 2 3
print(a,b,c) # 输出:1 2 3 - 示例 2(多行多个整数): n=int(input()) # 输入行数
lst=[int(input()) for _ in range(n)] # 读取n行整数
print(lst) - 示例 3(矩阵输入): n,m=map(int, input().split()) # 输入矩阵行数n和列数m
matrix=[list(map(int,input().split())) for _ in range(n)] # 读取n行m列矩阵
print(matrix)
网硕互联帮助中心







评论前必须登录!
注册