用于过滤的生成器函数:从输入的可迭代对象中产出元素的子集,而且不修改元素。
import itertools def vowel(c): return c.lower() in 'aeiou' #返回所有真值对应的元素 e1 = list(filter(vowel, 'Aardvark')) print("返回所有真值位置对应的元素:",e1) # ['A', 'a', 'a'] #返回所有False对应的元素 e2 = list(itertools.filterfalse(vowel, 'Aardvark')) print("返回所有假值位置对应的元素:",e2) # ['r', 'd', 'v', 'r', 'k'] #一遇到第一个False,就把这个位置及后面所有位置的元素返回 e3 = list(itertools.dropwhile(vowel, 'Aardvark')) print(e3) #['r', 'd', 'v', 'a', 'r', 'k'] #与e3做对比 e31 = list(itertools.dropwhile(vowel, 'hAardvark')) print(e31) # ['h', 'A', 'a', 'r', 'd', 'v', 'a', 'r', 'k'] #一遇到第一个False,就把False之前的真值对应位置的元素返回 e4 = list(itertools.takewhile(vowel, 'Aardvark')) print(e4) #['A', 'a'] #与e4做对比 e41 = list(itertools.takewhile(vowel, 'hAardvark')) print(e41) # 返回空列表 ,[] #islice 切片,索引从0开始,取不到末尾位置的元素 e5 = list(itertools.compress('Aardvark', (1,False,1,1,0,1))) print('e5:', e5) #['A', 'r', 'd', 'a', 'k'] e6 = list(itertools.islice('Aardvark', 4)) print('e6:', e6) # ['A', 'a', 'r', 'd'] e7 = list(itertools.islice('Aardvark', 4,7)) print('e7:', e7) #['v', 'a', 'r'] e8 = list(itertools.islice('Aardvark', 1,7,2)) print('e8:', e8) # ['a', 'd', 'a']
标签:函数,vowel,生成器,Aardvark,list,itertools,库中,print From: https://www.cnblogs.com/bravesunforever/p/17417066.html