网站首页 > 文章中心 > 其它

过滤函数用法python

作者:小编 更新时间:2023-10-23 15:43:59 浏览量:496人看过

Python 中关于filter函数问题求教

看文字的话会很乱,和图一起看会好一点

我刚看这个教程,不知道对不对...

python 8个常用内置函数解说

python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率.

①.、set()

当需要对一个列表进行去重操作的时候,set()函数就派上用场了.

用于创建一个集合,集合里的元素是无序且不重复的.集合对象创建后,还能使用并集、交集、差集功能.

对元组倒序操作:

使用参数:key,根据自定义规则,按字符串长度来排序:

根据自定义规则,对元组构成的列表进行排序:

map()会根据提供的函数,对指定的序列做映射,最终返回迭代器.也就是说map()函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列.举个例子,对列表里的每个数字作平方处理:

reduce()会对参数序列中元素进行累积.第第一段:第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果.再举个例子,将字母连接成字符串.

filter()函数轻松完成了任务,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象.filter()函数和map()、reduce()函数类似,都是将序列里的每个元素映射到函数,最终返回结果.我们再试试,如何从许多单词里挑出包含字母w的单词.

enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器.再举个例子说明,对字符串进行标注,返回每个字母和其索引.

Python中几个有趣的语法糖

Python中的eval()、filter()、float()函数有什么用?

Python解释器内置了许多函数,这意味着我们无需定义,始终可以它们.下面按照函数的字母顺序,讨论一些常用的内建函数.

eval()

eval()函数解析传给它的表达式,并在程序中运行Python表达式(代码).举个例子:

x?=?1

eval("x?◆?1")?#?注意:"x?◆?1"是字符串

True

'pypypy'

①.00

eval()函数不仅仅能运行简单表达式,还能调用函数,使用方法等等:

eval("abs(-11)")??#?计算-11的绝对值

eval('"hello".upper()')?#?把字符串'hello'全变成大写字母

'HELLO'

import?os

eval('os.getcwd()')??#?获取当前的工作目录

'/home/thepythonguru'

但是需要注意的是eval()仅适用于表达式,尝试传递语句会导致语法错误:

eval('a?=?1')????#?赋值语句

Traceback?(most?recent?call?last):

File?"",?line?1,?in

File?"",?line?1

a?=?1

^

SyntaxError:?invalid?syntax

eval('import?re')???#?导入语句

import?re

此外,使用eval()语句应该十分小心,永远不要将不受信任的源直接传递给eval(). 因为恶意用户很容易对您的系统造成破坏. 例如:

eval(input())?#?eval()将执行用户输入的代码

用户输入以下代码就能从系统中删除所有文件:

os.system("RM?-RF?/")

#?上面输入相当于执行:

eval('os.system("RM?-RF?/")')

filter()

"filter"的意思是"过滤",filter()函数需要两个参数:一个函数对象和一个可迭代对象.函数对象需要返回一个布尔值,并为可迭代的每个元素调用. filter()函数仅返回那些通过函数对象返回值为true的元素.解释有一些抽象,看一个例子:

下面是另外一个例子:

filter(lambda?x?:?x['name']?==?'python',?dict_a)?#?过滤出列表中键'name'为值'python'的字典

tuple(filter(lambda?x?:?x['name']?==?'python',?dict_a))?#?使用tuple()函数使结果变成字典

({'name':?'python',?'points':?10},)

float()

float()的参数是一个数字或者字符串,它返回一个浮点数.如果参数是字符串,则字符串中应该包含一个数字,并可以在数字前加入一个 '-' 符号,代表负数.参数也可以是表示NaN(非数字)或正无穷大的字符串.如果没有任何参数的话,将返回0.0.

0.001

①.000000.0

float('-Infinity')??#?无穷小

-inf

float('-inf')?◆?100??#?负无穷小加100仍等于负无穷小

float('inf')???#?无穷大

inf

float('NaN')???#?NaN,代表非数字

nan

关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你.

Python 之内置函数:filter、map、reduce、zip、enumerate

这几个函数在 Python 里面被称为高阶函数,本文主要学习它们的用法.

filter 函数原型如下:

第一个参数是判断函数(返回结果需要是 True 或者 False),第二个为序列,该函数将对 iterable 序列依次执行 function(item) 操作,返回结果是过滤之后结果组成的序列.

简单记忆:对序列中的元素进行筛选,获取符合条件的序列.

返回结果为: ,使用 list 函数可以输入序列内容.

map 函数原型如下:

该函数运行之后生成一个 list,第一个参数是函数、第二个参数是一个或多个序列;

下述代码是一个简单的测试案例:

上述代码运行完毕,得到的结果是: .使用 print(list(my_new_list)) 可以得到结果.

map 函数的第一个参数,可以有多个参数,当这种情况出现后,后面的第二个参数需要是多个序列.

map 函数解决的问题:

reduce 函数原型如下:

第一个参数是函数,第二个参数是序列,返回计算结果之后的值.该函数价值在于滚动计算应用于列表中的连续值.

测试代码如下:

简单记忆:对序列内所有元素进行累计操作.

zip 函数原型如下:

zip 函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表.

如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同,利用星号( * )操作符,可以将元组解压为列表.

展示如何利用 * 操作符:

输出结果如下:

简单记忆:zip 的功能是映射多个容器的相似索引,可以方便用于来构造字典.

enumerate 函数原型如下:

参数说明:

该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.

返回结果为: .

本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率.最好的学习资料永远是官方手册

以上就是土嘎嘎小编为大家整理的过滤函数用法python相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章