目录
1. Iterable可迭代类型
在Python中,可迭代对象(Iterable)是一个可以返回其成员的对象,成员可以通过迭代协议(即__iter__()
方法)被逐个访问。迭代协议要求对象实现__iter__()
方法,该方法返回一个迭代器(Iterator),而迭代器需要实现__iter__()
和__next__()
方法。常见的可迭代类型包括列表(list)、元组(tuple)、字典(dict,迭代的是其键)、集合(set)、字符串(str)以及生成器(generator)等。
# 示例:遍历列表
for item in [1, 2, 3, 4, 5]:
print(item)
2. for循环的两种常见形式
for循环是Python中最常用的迭代工具之一,它有两种常见的形式:基于序列的迭代和基于迭代器的迭代。
- 基于序列的迭代:直接遍历序列(如列表、元组)中的元素。
- 基于迭代器的迭代:通过迭代器(如文件对象、map/filter对象)的
__next__()
方法逐个访问元素,直至抛出StopIteration
异常结束循环。 - 基于字符串的迭代
# 基于序列的迭代
for item in [1, 2, 3]:
print(item)
# 基于迭代器的迭代(简化示例)
iter_obj = iter([1, 2, 3])
while True:
try:
print(next(iter_obj))
except StopIteration:
break
# 基于字符串的迭代(简化示例)
name_str = "xiao e yu"
for i in name_str:
print(i)
3. break与continue
- break:用于立即退出当前循环体,无论循环条件是否满足。
- continue:跳过当前循环的剩余部分,直接开始下一次迭代。
这两个语句提供了对循环流程的精细控制,使得在处理复杂逻辑时更加灵活。
# 使用break
for i in range(1, 10):
if i == 5:
break
print(i)
# 使用continue
for i in range(1, 10):
if i % 2 == 0:
continue
print(i)
4. for与else
Python中的for循环可以与else语句结合使用,当for循环正常结束(即不是通过break语句退出的)时,会执行else块中的代码。这可以用于处理循环后的清理工作,或者在没有找到满足条件的元素时执行特定操作。
for i in range(1, 10):
if i == 5:
break
print(i)
else:
print("循环正常结束")
5. 循环嵌套
循环嵌套指的是在一个循环体内再嵌套另一个循环。这在处理多维数据结构(如矩阵、多层嵌套列表)时非常有用。正确理解和使用循环嵌套是掌握Python复杂数据处理能力的关键。
# 示例:遍历二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for item in row:
print(item, end=' ')
print() # 换行
结语
通过对Python循环机制的深入剖析,我们不仅复习了基础概念如可迭代类型、for循环的常见形式,还掌握了break、continue、for与else的高级用法,以及循环嵌套的应用。这些知识点是构建高效、灵活Python程序不可或缺的部分。希望本文能帮助读者在Python编程之路上更进一步,实现更加复杂和强大的功能。