math
math.log(8, 2) # 以2为底的对数
math.log2(8) # 以2为底的对数
math.log10(100) # 以10为底的对数
math.factorial(3) # 阶乘
math.comb(5, 3) # 组合数
math.gcd(21, 14) # 最大公约数
math.lcm(21, 14) # 最小公倍数
str
s.isalpha() # 是否只包含字母
s.isdigit() # 是否只包含数字
s.isalnum() # 是否只包含字母和数字
s.islower() # 是否只包含小写字母
s.isupper() # 是否只包含大写字母
s.upper() # 大写
s.lower() # 小写
ord('A') # 65
chr(65) # 'A'
s.strip() # 去除两端空格
s.split(' ') # 分割
s.join(['hello', 'world']) # 连接
s.startswith('hello') # 是否以 'hello' 开头
s.endswith('world') # 是否以 'world' 结尾
s.find('world') # 查找第一次出现的位置,找不到返回 -1
s.replace('world', 'python') # 替换
s.count('l') # 统计
list
a.append(6) # 插入
a.pop() # 弹出
a.sort() # 排序
a.sort(reverse=True) # 逆序排序
sorted(a) # 返回排序后的列表
sorted(a, reverse=True) # 返回逆序排序后的列表
sorted(a, key=lambda x: x[1]) # 按元素的第二个值排序
sorted(a, key=lambda x: x[1], reverse=True) # 按元素的第二个值逆序排序
max(a) # 最大值
min(a) # 最小值
max(a, key=lambda x: x[1]) # 按元素的第二个值取最大值
min(a, key=lambda x: x[1]) # 按元素的第二个值取最小值
sum(a) # 求和
any(a) # 是否有元素为真
all(a) # 是否所有元素为真
set
s = set()
s.add(1) # 插入
s.discard(1) # 删除
1 in s # 查找
s1 & s2 # 交集
s1 | s2 # 并集
s1 - s2 # 差集
s1 ^ s2 # 对称差集
dict, from collections import defaultdict, Counter
d = {}
d = defaultdict(int) # 创建一个默认值为 0 的字典
d = defaultdict(lambda: 1) # 创建一个默认值为 1 的字典
# 基本类型的默认值:int=0 float=0.0 bool=False str='' list=[] tuple=() dict={} set=set()
d = Counter(a) # 计数器
d['a'] = 1 # 插入/更新
del d['a'] # 删除
d.items() # 返回所有键值对
from sortedcontainers import SortedList, SortedDict, SortedSet
docs
from collections import deque
q = deque()
q.append(6) # 在右端插入
q.appendleft(0) # 在左端插入
q.pop() # 弹出右端元素
q.popleft() # 弹出左端元素
heapq
heapq.heapify(a) # 将 a 转换为最小堆
a[0] # 最小值
heapq.heappop(a) # 弹出最小值
heapq.heappush(a, 1) # 插入元素
bisect
bisect.bisect_left(a, 42) # 查找第一个 >= 42 的位置
bisect.bisect_right(a, 42) # 查找第一个 > 42 的位置
bisect.insort(a, 42) # 插入 42 到合适的位置
itertools.permutations(a) # 生成 a 的全排列
itertools.permutations(a, 3) # 生成 a 的排列,长度为3
itertools.combinations(a, 3) # 生成 a 的组合,长度为3
itertools.accumulate(a) # 生成 a 的累加和
itertools.accumulate(a, operator.mul) # 生成 a 的累乘积
itertools.accumulate(a, max) # 生成 a 的前缀最大值
random
random.random() # [0, 1) 之间的随机数
random.randint(1, 10) # [1, 10] 之间的随机数
random.choice([1, 2, 3, 4]) # 从列表中随机选择
random.shuffle([1, 2, 3, 4]) # 将列表随机打乱
random.sample([1, 2, 3, 4], 2) # 从列表中随机选择两个元素
random.seed(42) # 设置随机种子