Python 高级
itertools 模块
掌握 Python 迭代工具库
- 使用 count/cycle/chain
- 使用 groupby 和 combinations
- 掌握常用迭代工具
无限迭代器
示例代码(可运行)
Python 0%
组合与排列
示例代码(可运行)
Python 0%
groupby
示例代码(可运行)
Python 0%
预测输出
import itertools
print(list(itertools.chain([1],[2,3])))找 Bugcount()是无限迭代器,list()会无限循环。
import itertools
list(itertools.count(1))
填空题填写空白处的代码
import itertools
print(list(itertools.([1,2,3], 2))) # 两两组合
选择题
permutations([1,2],2) 有几个结果?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
with 语句等价于 try/finally:无论正常结束还是中途抛异常,退出时都会执行清理(关文件、释放锁、断开连接)。实现方式有两种:类里写 __enter__/__exit__,或用 contextlib.contextmanager 把生成器变成上下文管理器。凡是「打开了必须关闭/获取了必须释放」的资源,都应该用 with 托管。
挑战任务
itertools挑战
简单+50 XP
用permutations找出3个元素的全排列。
itertools挑战
Python 0%
2 个测试用例
课后作业
密码生成
中等+20 XP
用product生成3位数字密码所有可能。
密码生成
Python 0%
1 个测试用例