Python中的迭代器函数
在本文中,我们将学习Python3.x中可用的四个迭代器函数。或更早的称为accumulate(),chain()过滤器false(),dropwhile()方法。
现在让我们详细研究一下它们-
累计()和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()方法
Dropwhile()方法接受检查条件的功能和可迭代操作的输入。条件变为假之后,它将返回iterable的所有值。
Filterfalse()方法接受一个函数来检查条件,并接受一个可迭代操作的输入。当给定条件变为假时,它将返回该值。
示例
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']
结论
在本文中,我们了解了Python3.x中可用的不同类型的迭代器函数。或更早。