Python 中的迭代器函数
在本文中,我们将学习 Python 3.x 或更早版本中提供的四个迭代器函数,即 accumulate()、chain()、filter false() 和 dropwhile() 方法。
现在,让我们详细探讨其中的每一个方法 −
Accumulate() 和 chain() 方法
Accumulate() 方法需要两个参数,一个是对其进行操作的可迭代对象,另一个是要执行的函数/操作。默认情况下,第二个参数执行加法操作。
Chain() 方法在连接所有可迭代对象后,打印所有可迭代目标。
以下示例说明了实现方法 −
示例
import itertools import operator as op # initializing list 1 li1 = ['t','u','t','o','r'] # initializing list 2 li2 = [1,1,1,1,1] # initializing list 3 li3 = ['i','a','l','s','p','o','i','n','t'] # using accumulate() add method print ("The sum after each iteration is : ",end="") print (list(itertools.accumulate(li1,op.add))) # using accumulate() multiply method print ("The product after each iteration is : ",end="") print (list(itertools.accumulate(li2,op.mul))) # using chain() method print ("All values in mentioned chain are : ",end="") print (list(itertools.chain(li1,li3)))
输出
The sum after each iteration is : ['t', 'tu', 'tut', 'tuto', 'tutor'] The product after each iteration is : [1, 1, 1, 1, 1] All values in mentioned chain are : ['t', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n', 't']
Dropwhile() 和 filterfalse() 方法
Drop while() 方法接受一个函数来检查条件和一个对其进行操作的输入可迭代对象。它在条件变为 false 后返回可迭代对象的所有值。
Filterfalse() 方法接受一个函数来检查条件和一个对其进行操作的输入可迭代对象。当给定的条件变为 false 时,它返回该值。
示例
import itertools # list l = ['t','u','t','o','r'] # using dropwhile() method print ("The values after condition fails : ",end="") print (list(itertools.dropwhile(lambda x : x!='o',l))) # using filterfalse() method print ("The values when condition fails : ",end="") print (list(itertools.filterfalse(lambda x : x!='o',l)))
输出
The values after condition fails : ['o', 'r'] The values when condition fails : ['o']
结论
在本文中,我们学习了 Python 3.x 或更早版本中提供的不同类型的迭代器函数。
广告