1. 快速交换变量
无需临时变量,直接 a, b = b, a 完成交换。
2. 列表快速去重
利用集合特性 lst = list(set(lst)) ,有序去重则用 lst = list(dict.fromkeys(lst)) 。
3. 一行式遍历+判断
列表推导式简化循环,例: even_nums = [x for x in range(10) if x % 2 == 0] 。
4. 解包任意可迭代对象
a, *b, c = [1,2,3,4,5] # a=1, b=[2,3,4], c=5
5. 快速生成序列
range() 生成数字序列, 'a'*5 生成重复字符串, [0]*10 生成重复元素列表。
6. 字典一键多值
用 collections.defaultdict :
from collections import defaultdict
d = defaultdict(list)
d['key'].append(1)
7. 优雅处理空值
三元表达式 x = val if val is not None else default ,或 x = val or default 。
8. 批量导入模块
from os import path, walk, listdir
9. 高效遍历字典键值
for k, v in dict.items() ,仅遍历键用 for k in dict ,仅遍历值用 for v in dict.values() 。
10. 防止代码重复执行
if __name__ == '__main__':
# 主程序代码,导入时不执行
main()
11. 快速统计元素频次
用 collections.Counter :
from collections import Counter
cnt = Counter([1,2,1,3,1]) # Counter({1:3, 2:1, 3:1})
12. 简化条件判断
多值判断用 x in {1,2,3} (比 x==1 or x==2 or x==3 高效)。
13. 一行式函数
lambda匿名函数: add = lambda a,b: a+b ,适合简单逻辑。
14. 优雅拼接字符串
用f-string(Python3.6+): f"name: {name}, age: {age}" ,比 % 和 format 更简洁。
15. 快速反转序列
列表 lst[::-1] ,字符串 s[::-1] ,字典(3.8+) dict(reversed(d.items())) 。