首页 > 编程语言 >python三大基础函数

python三大基础函数

时间:2022-10-31 16:57:07浏览次数:33  
标签:函数 迭代 python list filter test my 三大

在Python中有三个基础函数,分别是filter()、map()和reduce(),他们分别为我们提供过滤、映射和聚合的功能。

1. filter()函数

在数据筛选和过滤的时候我们通常会采用filter()函数帮助我们快速的解决问题,它的语法格式为:

1 filter(函数,可迭代对象)

在filter函数中,前面放我们的过滤或筛选方式,即函数名,后面存放可迭代的对象,我们看下面的例子:

1 2 3 4 5 def test(x):     if % 2 == 0:         return x my_list = [1,2,3,4,5,6] print(filter(test,my_list))#只需要些函数名即可,不用加参数

输出结果:

1 <filter object at 0x034C2DD8>

关于这个例子,我们首先定义了一个test()函数,如果x是偶数则返回其值,然后通过filter()函数使用test()函数来过滤my_list列表,但是输出结果却是<filter object at 0x034C2DD8>,在这里我们需要注意filter()函数的返回值为一个可迭代的对象,我们需要通过迭代的方式访问其中的值,或者使用列表list()函数强制类型转换。

1 2 3 4 5 6 7 8 def test(x):     if % 2 == 0:         return x my_list = [1,2,3,4,5,6] print(filter(test,my_list)) for in filter(test,my_list):     print('迭代后中的数据:',i) print('使用list()方法:',list(filter(test,my_list)))

输出结果为:

1 2 3 4 迭代后中的数据: 2 迭代后中的数据: 4 迭代后中的数据: 6 使用list()方法: [246]

2. map()函数

在前面我们曾多次使用到过map()函数,例如我们在输入多个值的时候,我们会采用map()函数,我们需要输入四个值的时候:

1 2 a,b,c,d = map(int,input().split()) print(a,b,c,d)

map()函数的语法格式为:

1 map(函数,可迭代对象)

在使用map()函数的时候,我们大多用于对数据的处理,把可迭代对象中的数据经过函数处理之后存储,我们在存储的时候继续采用list()函数进行存储。

我们先看上面输入四个值的例子,int为函数,input().splite输入的值为可迭代的对象,经过int函数的处理后存放在map对象当中。

我们可以通过map()函数将一个序列中的所有数据通过一个函数进行处理,看下面的例子:

我们在一个列表中存放了一下字母,如果存在小写字母,那么将它变成大写字母。

代码如下:

1 2 3 4 5 6 7 def test(x):     if x.islower():         return x.upper()     else:         return x my_list = ['d','o','t','C','p','P'] print(list(map(test,my_list)))

输出结果为:

1 ['D''O''T''C''P''P']

test()函数中会先对x进行判断,如果是小写字母就返回它的大写字母,如果不是小写字母就返回它的值。

3. reduce()函数

reduce()函数用于把可迭代的对象通过函数方法进行聚合。

语法格式为:

1 reduce(函数, 可迭代对象[, 初始值])

举个例子,我们已知一个列表为[1,2,3,4],我们需要求列表里所有项依次相乘的和,我们可以使用reduce()函数。

1 2 3 4 5 from functools import reduce#reduce函数在functools模块中定义,需要引入 def test(x,y):     return * y my_list = [1,2,3,4] print(reduce(test,my_list))

输出结果为:

python函数3

第一行代码为引入这种方法,后面会对模块进行讲解,test()函数返回了两个数据相乘,然后通过reduce()函数将my_list列表处理。

处理过程如下图:

    python函数4

先执行第一步,然后得到一个结果再和后一项相乘,依次到最后一位。

标签:函数,迭代,python,list,filter,test,my,三大
From: https://www.cnblogs.com/bokeyuanjj/p/16844906.html

相关文章

  • python爬取公众号文章发布时间
    使用xpath取出来的是空,爬取到本地的html,时间的标签如下,内容也是是空的<emid="publish_time"class="rich_media_metarich_media_meta_text"></em>经过查找发现网页使......
  • python-函数
    打算今天花三个小时学习一下python,要不然强化学习的很多内容看不懂一、参数1.形式参数和实际参数形式参数:定义函数的时候在括号中的参数,在函数内部会使用这个参数进......
  • 随机化算法解决圆排列问题 - python解法
    问题描述给定n个大小不等的圆,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给......
  • python中*的用法
    python中*是非常常见的一个运算符,它主要有以下几个功能:乘法运算符;函数形参表示可变参数;函数实参代表tuple;序列解包为tuple;zip解包运算;参考资料:​​Python3*和**运算符​......
  • python多继承及其super的用法
    python也具有多继承的功能,而同样的,大家能想到多继承必须要引入一些特定的方法来准确调用子类或基类的重载、重写的方法,否则会出现混乱。本文参考​​Multipleinheritance......
  • python中的round
    参考资料:​python的round函数使用​​python的round函数作用是四舍五入,其函数定义如下:round接收两个参数,第一个是数字,第二个是保留的位数,如果不显式给定第二位,则默认不保留......
  • 【python】list中extend和append的区别
    在python列表中,extend和append都可以往列表中加入元素,extend是扩充单个元素,如:a='abc123'b=[]b.extend(a)>>>b=['a','b','c','1','2','3']而append是扩......
  • 力扣409(java&python)-最长回文串(简单)
    题目:给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的最长的回文串 。在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串......
  • Delphi 替换字符函数
    Delphi中的StringReplace函数是SysUtils单元中自带的函数:typeTReplaceFlags=setof(rfReplaceAll,rfIgnoreCase);functionStringReplace(constS,OldPattern,......
  • grpc demo python客户端 c++服务端
    项目需啊将网站上传的图片传入c++推理引擎,网站使用flask架构,python编写,图片推理引擎是一个单独的server,c++编写,因此用grpc来传输比较合适。理论上来说只要规定好proto文件,......