看文字的话会很乱,和图一起看会好一点
我刚看这个教程,不知道对不对...
python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率.
①.、set()
当需要对一个列表进行去重操作的时候,set()函数就派上用场了.
用于创建一个集合,集合里的元素是无序且不重复的.集合对象创建后,还能使用并集、交集、差集功能.
对元组倒序操作:
使用参数:key,根据自定义规则,按字符串长度来排序:
根据自定义规则,对元组构成的列表进行排序:
map()会根据提供的函数,对指定的序列做映射,最终返回迭代器.也就是说map()函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列.举个例子,对列表里的每个数字作平方处理:
reduce()会对参数序列中元素进行累积.第第一段:第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果.再举个例子,将字母连接成字符串.
filter()函数轻松完成了任务,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象.filter()函数和map()、reduce()函数类似,都是将序列里的每个元素映射到函数,最终返回结果.我们再试试,如何从许多单词里挑出包含字母w的单词.
enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器.再举个例子说明,对字符串进行标注,返回每个字母和其索引.
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 函数原型如下:
第一个参数是判断函数(返回结果需要是 True 或者 False),第二个为序列,该函数将对 iterable 序列依次执行 function(item) 操作,返回结果是过滤之后结果组成的序列.
简单记忆:对序列中的元素进行筛选,获取符合条件的序列.
返回结果为: ,使用 list 函数可以输入序列内容.
map 函数原型如下:
该函数运行之后生成一个 list,第一个参数是函数、第二个参数是一个或多个序列;
下述代码是一个简单的测试案例:
上述代码运行完毕,得到的结果是: .使用 print(list(my_new_list)) 可以得到结果.
map 函数的第一个参数,可以有多个参数,当这种情况出现后,后面的第二个参数需要是多个序列.
map 函数解决的问题:
reduce 函数原型如下:
第一个参数是函数,第二个参数是序列,返回计算结果之后的值.该函数价值在于滚动计算应用于列表中的连续值.
测试代码如下:
简单记忆:对序列内所有元素进行累计操作.
zip 函数原型如下:
zip 函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表.
如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同,利用星号( * )操作符,可以将元组解压为列表.
展示如何利用 * 操作符:
输出结果如下:
简单记忆:zip 的功能是映射多个容器的相似索引,可以方便用于来构造字典.
enumerate 函数原型如下:
参数说明:
该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.
返回结果为: .
本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率.最好的学习资料永远是官方手册
以上就是土嘎嘎小编为大家整理的过滤函数用法python相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!