Python 迭代器是一种遍历集合数据类型(如列表、元组、字典等)的机制,使用了它可以对不同类型的数据进行遍历操作,也可以对数据进行操作。Python 的迭代器协议是指:对象必须定义 __iter__()
和 __next__()
方法。
下面是Python 迭代器技巧使用方法的攻略:
1.创建一个迭代器
创建一个迭代器的方法是在类中实现 __iter__()
方法和 __next__()
方法。如下所示:
class MyNumbers:
def __init__(self):
self.a = 1
def __iter__(self):
return self
def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration
在以上示例中,类 MyNumbers 实现了 __iter__()
和 __next__()
方法,并且只能生成 1 ~ 20 的整数。__iter__()
方法返回迭代器本身,__next__
方法定义了每次迭代时返回的数据。
2.使用内置函数 iter() 和 next() 进行迭代
Python 的内置函数 iter()
可以将可迭代的对象转换为一个迭代器,内置函数 next()
则可以逐个输出数据。如下所示:
mylist = [1, 2, 3]
it = iter(mylist)
print(next(it)) # 输出 1
print(next(it)) # 输出 2
print(next(it)) # 输出 3
以上示例中,将一个列表转换为迭代器并逐个输出其中的数据。
3.使用迭代器进行遍历数列
使用迭代器遍历数列的方法是,使用 for
循环。如下所示:
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a <= 23:
x = self.a
self.a += 2
return x
else:
raise StopIteration
myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x)
以上示例中,遍历 1 ~ 23 的奇数。首先创建一个迭代器对象,然后使用 for
循环遍历这个迭代器并输出其中的数据。
以上就是 Python 迭代器技巧使用方法的完整攻略,希望对你有所帮助。