MENU

Python循环结构与迭代器

• April 28, 2024 • Python阅读设置

Python 中的循环结构和迭代器是编写循环和迭代操作的重要工具。它们允许你遍历数据集合或执行重复性任务,以下是它们的详细解释。
0.webp (1).jpg

  1. 循环结构
    for 循环
    for 循环用于遍历一个可迭代对象(如列表、元组、字典、集合等),在每次迭代中执行相应的代码块,直到遍历完所有元素或满足特定条件。
    python
    Copy code
    for item in iterable:
    # 在每次迭代中执行的代码
    while 循环
    while 循环用于在条件为真的情况下重复执行代码块,直到条件变为假为止。
    python
    Copy code
    while condition:
    # 在条件为真时执行的代码
  2. 迭代器
    迭代器是一种可以被遍历的对象,它实现了 __iter__() 和 __next__() 方法,允许按需逐个访问元素。Python 中的迭代器提供了一种高效地访问集合元素的方式。
    内置迭代器
    Python 中有许多内置的可迭代对象,如列表、元组、字典、集合等。这些对象都实现了迭代器协议,因此可以直接使用 for 循环进行遍历。
    自定义迭代器
    你也可以创建自定义迭代器,只需实现 __iter__() 和 __next__() 方法即可。__iter__() 方法返回迭代器自身,__next__() 方法返回下一个元素,直到遍历完所有元素抛出 StopIteration 异常。
    python
    Copy code
    class MyIterator:
    def __iter__(self):

     return self
    

    def __next__(self):

     # 返回下一个元素
     if 条件:
         return 元素
     else:
         raise StopIteration
  3. 迭代器与生成器
    生成器是一种特殊的迭代器,它可以逐个地生成值,而不是一次性生成所有值。生成器可以使用函数中的 yield 关键字来定义,每次调用生成器的 __next__() 方法时,都会执行到下一个 yield 语句。
    python
    Copy code
    def my_generator():
    yield 1
    yield 2
    yield 3

gen = my_generator()
print(next(gen)) # 输出 1
print(next(gen)) # 输出 2
print(next(gen)) # 输出 3
Python 中的循环结构和迭代器为你提供了灵活、高效地处理数据集合和执行重复性任务的工具。通过合理运用循环和迭代器,你可以简化代码逻辑,提高代码的可读性和可维护性。