Python中for...in
range()
enumerate()
-
基础语法与遍历原理
plaintext复制的语法结构会自动调用对象的for 变量 in 可迭代对象:
plaintext复制方法生成迭代器。例如遍历列表时,__iter__()
plaintext复制会依次输出元素。对于字典,默认遍历键名,可通过for item in [1,2,3]: print(item)
plaintext复制同时获取键值对,如dict.items()
plaintext复制实现键值解包。for k,v in {'a':1}.items():
-
常见应用场景与技巧
- 序列处理:遍历字符串获取字符(plaintext复制),或处理嵌套列表(
for char in "hello"
plaintext复制)for sublist in matrix:
- 范围控制:结合plaintext复制生成数字序列,例如
range()
plaintext复制生成0-4的循环索引for i in range(5):
- 枚举迭代:使用plaintext复制同时获取索引和元素,如
enumerate()
plaintext复制for idx,val in enumerate(list):
- 多序列并行:通过plaintext复制同步遍历多个可迭代对象,如
zip()
plaintext复制。for a,b in zip(list1, list2):
- 序列处理:遍历字符串获取字符(
-
高级用法与性能优化
- 生成器表达式:直接在循环中嵌入plaintext复制减少内存消耗
(x*2 for x in iterable)
- 条件过滤:结合plaintext复制进行元素筛选,例如
if
plaintext复制for x in iterable if x>10:
- 嵌套循环优化:使用plaintext复制替代多层嵌套提升可读性
itertools.product()
- 自定义可迭代对象:通过实现plaintext复制方法创建支持
__iter__()
plaintext复制的类。for...in
- 生成器表达式:直接在循环中嵌入
掌握for...in
列表推导式
生成器