首页 > 其他分享 >标准库中的生成器函数——用于过滤的生成器函数

标准库中的生成器函数——用于过滤的生成器函数

时间:2023-05-20 13:11:58浏览次数:36  
标签:函数 vowel 生成器 Aardvark list itertools 库中 print

用于过滤的生成器函数:从输入的可迭代对象中产出元素的子集,而且不修改元素。

 

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

相关文章

  • 高阶函数就是将函数作为参数的函数
    高阶函数就是将函数作为参数的函数。换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数。常用的内置高阶函数map(function,Iterable)filter(function,iterable)reduce(function,iterable)sorted(Iterable,key=function,reverse=False)高阶函数就是将函数作为......
  • 函数
    一、函数维基百科对函数的定义是:一个子程序,是指是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。C语言中的函数有:库函数和自定义函数。二、库函数库......
  • C语言函数大全-- _w 开头的函数(4)
    C语言函数大全本篇介绍C语言函数大全--_w开头的函数1._wstrtime1.1函数说明函数声明函数功能wchar_t*_wstrtime(wchar_t*buffer);用于获取当前系统时间并返回一个宽字符字符串表示,格式为"HH:MM:SS"(小时:分钟:秒)参数:buffer:一个指向wchar_t类型数组......
  • JavaScript全解析——ES6函数中参数的默认值和解构赋值
    本文为千锋资深前端教学老师带来的【JavaScript全解析】系列,文章内含丰富的代码案例及配图,从0到1讲解JavaScript相关知识点,致力于教会每一个人学会JS!文末有本文重点总结,可以收藏慢慢看~更多技术类内容,主页关注一波!ES6函数中参数的默认值给函数的形参设置一个默认值,当你没有......
  • 分享一下mybatisPlus新代码生成器3.5.1以上
    pom引入:有MP了就不要再引入mybatis了,会出bug的<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</......
  • 函数项级数
    一致收敛性在一个数项级数中,每个项都是一个常数:\(a_1+a_2+\cdots+a_n+\cdots\)。现在有一系列数项级数,我们可以把每一项都看作是关于某个自变量\(x\)的函数\(a_i(x)\),这样我们也得到一个“级数”\(a_1(x)+a_2(x)+\cdots+a_n(x)+\cdots\)。我们发现如果这个和是收敛的,那么这个和本......
  • Jmeter函数助手8-counter
    counter函数根据线程数计数。counterTRUE,每个用户有自己的计数器;FALSE,使用全局计数器:即线程之间是否需要共享累加计数器,TRUE否,FALSE是存储结果的变量名(可选)  1、线程之间共享累加计数器${__counter(,)}2、线程之间不共享计数器${__counter(TRUE,)} 3、线程之间共享......
  • c++函数参数和返回值
    c++函数参数和返回值函数存储位置函数参数入栈顺序初始化列表函数的返回值用参数引用来返回返回一个参数指针返回一个对象总结函数的几种变体inline函数函数对象lambda函数c++函数参数和返回值c++一直以来是一个关注效率的代码,这样关于函数的参数传递......
  • 多态、虚函数表、底层实现、多重继承的问题及处理
    本文代码摘自 http://dwz.date/PST;视频解析:十分钟带你搞明白虚函数、虚表、多态的原理以及多重继承带来的问题_哔哩哔哩_bilibili1、多态:基类指针只能调用基类的成员函数,不能调用派生类的成员函数;如果在基类的成员函数前加上virtual关键字,把它声明为虚函数;基类指针就可以......
  • 函数指针和指针函数
    目录0、摘要1、指针函数2、函数指针3、函数指针数组4、将函数作为传参传入另一个函数5、以下两个指针能分析清楚的话,那么99%的C语言指针问题都难不住你。参考:0、摘要指针函数是返回指针的函数,函数指针是指向函数的指针。int*FunctionReturnsPtr(inta);//返回值为指......