内置函数续

Posted zly9527

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置函数续相关的知识,希望对你有一定的参考价值。

 

filter 过滤

技术图片
def x_1(x):
    return x % 2 == 1
ret = filter(x_1,[1,2,3,4,5,6,67,78,8,9,])
for i in ret:
    print(i)
View Code

filter接收两个参数,第一个是函数名,不能加(),第二个是可迭代的。filter会将可迭代对象里面的所有参数输入函数中并进行过滤。(最后是通过最后返回的bool值来确定的)

技术图片

我们也可以用列表推导式来完成这个效果,如:

技术图片
print([i for i in [1,2,3,4,5,6,67,78,8,9,]if i % 2 ==1])
View Code

技术图片

但是filter可以执行更加复杂的过滤,但是结果·都是一样的。

用处:我们可以用它来删除None和空字符串。

 

作业:取1——100中所有开根号后是整数的数。

技术图片
from math import sqrt
def b(x):
    return sqrt(x)%1==0
ret = filter(b,range(1,101))
for i in ret:
    print(i)
View Code

技术图片

 map

把每一个参数都已相应的处理函数进行迭代处理,map()函数接收两个参数,一个函数,一个是序列。map将传入的函数依次作用到序列的每一个元素,并将结果作为新的list给返回。

技术图片
ret = map(abs,[-12,-234.123,-2,234])
print(ret)
for i in ret:
    print(i)
View Code

技术图片

 

sorted

参数说明:1.iterable:可迭代的

     2.key:传入一个函数名,函数的参数是可迭代类型中的每一项,根据函数的返回值大小排序。

       3,reverse:排序规则,reverse =Ture降序或者reverse = Flase升序,有默认值。

      返回值,有序列表。

技术图片
l = [12,23,1,123,423,1,123,12,12,-23,-1312,-321,-3]
l.sort(key = abs)
print(l)
View Code

技术图片

原列表上进行排序

sorted

技术图片
l = [12,23,1,123,423,1,123,12,12,-23,-1312,-321,-3]
print(sorted(l))
View Code

 

技术图片

技术图片
l = [12,23,1,123,423,1,123,12,12,-23,-1312,-321,-3]
print(sorted(l,key=abs,reverse=True))
View Code

技术图片

优点:生成一个新列表,不改变原列表。

确定:占内存

总结

filter 执行了filter之后的结果结合<=执行之前的个数

  filter只管筛选,不会改变原来的值。

map 执行前后元素个数不变

  值可能发生变化(因为是对值进行操作并生成一个列表)

 

以上是关于内置函数续的主要内容,如果未能解决你的问题,请参考以下文章

第四篇: python函数续

第三章 Python基础——文件操作&函数 续

python 8个常用内置函数解说

python有多少内置函数

Python 内置函数

内置函数