Python内建函数二

内置函数二:

    1.lambda   (匿名函数)
        为了解决一些简答的需求而设计的一句话函数。不需要def来声明。
        def func(n):
            return n*n
        print(func(10))#100

        f = lambda n: n*n
        print(f(10))#100

        注意:
            语法:函数名 = lambda 参数:返回值

            1.函数的参数可以有多个。多个参数之间用逗号隔开。
            2.匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据
            3.返回值和正常的函数一样,可以是任意数据类型。

        匿名函数并不是说一定没有名字,这里前面的变量就是一个函数名,说他是匿名原有
        是我们通过__name__查看的时候咩有名字的,统一都叫做lambda。在调用的时候
        没有什么特别之处。像正常的函数调用。

    2.sorted    (排序函数)
        语法:soret(Iterable,key=None,reverse=False)
            Iterable:可迭代对象
            key:排序规则(排序函数),在soret内部会将可迭代对象中的每一个元素
                传递给这个函数的参数,根据函数运算的结果进行排序。
            recerse:是否是倒序。True:倒序,False:正序。
            <1>
            lst = [1,5,3,4,6]
            lst2 = sorted(lst)
            print(lst) # 原列表不会改变
            print(lst2) # 返回的新列表是经过排序的

            结果:
                [1, 5, 3, 4, 6]
                [1, 3, 4, 5, 6]
            <2>
            dic = {1:‘A‘, 3:‘C‘, 2:‘B‘}
            print(sorted(dic)) # 如果是字典. 则返回排序过后的key

            结果:
                [1, 2, 3]
            <3>
            # 根据字符串长度进行排序
            lst = ["哈哈", "我爱你", "中国", "亲爱的母亲"]
            # 计算字符串串长度
            def func(s):
                return len(s)
            print(sorted(lst, key=func))

            结果:
                [‘哈哈‘, ‘中国‘, ‘我爱你‘, ‘亲爱的母亲‘]
            <4>
             # 根据字符串长度进行排序
            lst = ["哈哈", "我爱你", "中国", "亲爱的母亲"]
            # 计算字符串长度
            print(sorted(lst, key=lambda s: len(s)))

            结果:
                [‘哈哈‘, ‘中国‘, ‘我爱你‘, ‘亲爱的母亲‘]
            <5>
            lst = [{"id":1, "name":‘a‘, "age":18},
                   {"id":2, "name":‘b‘, "age":16},
                   {"id":3, "name":‘c‘, "age":17}]
            # 按照年龄对学生信息进行排序
            print(sorted(lst, key=lambda e: e[‘age‘]))

            结果:
                [{‘id‘: 2, ‘name‘: ‘b‘, ‘age‘: 16}, {‘id‘: 3, ‘name‘: ‘c‘, ‘age‘: 17}, {‘id‘: 1, ‘name‘: ‘a‘, ‘age‘: 18}]

    3.filter  (筛选函数)
        语法:filter(function,Iterable)
            function:用来筛选的函数,在filter中会自动的把iteratable中的元素传递给function
                    然后根据function返回True或者False来判断是否保留此数据。
            Iterable:可迭代对象

            例子:
                lis = [
                    {‘id‘: 1, ‘age‘:30},
                    {‘id‘: 2, ‘age‘:40},
                    {‘id‘: 3, ‘age‘:20},
                    {‘id‘: 4, ‘age‘:40}

                ]
                ll = filter(lambda dic: dic[‘age‘] >= 40,lis)#返回一个迭代器
                print(list(ll))#[{‘id‘: 2, ‘age‘: 40}, {‘id‘: 4, ‘age‘: 40}]

    4.map    (映射函数)
        语法:map(function,Iterable)
            可以根据可迭代对象中的每一个元素进行映射。分别去执行function

        例子:
            <1>
            #计算列表中每个元素的平方 ,返回新列列表
            def func(e):
                return e*e
            mp = map(func, [1, 2, 3, 4, 5])
            print(mp)
            print(list(mp))

            结果:
                <map object at 0x1037503c8>
                [1, 4, 9, 16, 25]
            <2>
            #改写成lambda
            print(list(map(lambda x: x * x, [1, 2, 3, 4, 5])))

            结果:
                [1, 4, 9, 16, 25]
            <3>
            # 计算两个列表相同位置的数据的和
            lst1 = [1, 2, 3, 4, 5]
            lst2 = [2, 4, 6, 8, 10]
            print(list(map(lambda x, y: x+y, lst1, lst2)))

            结果:
                [3, 6, 9, 12, 15]

原文地址:https://www.cnblogs.com/xiao-xue-di/p/9341442.html

时间: 2024-10-11 23:30:48

Python内建函数二的相关文章

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

【美妙的Python之二】Python初步

美妙的Python之Python起步 简而言之: Python 是能你无限惊喜的语言,与众不同.           1.动态类型:         Python是一种动态类型语言,不需要预先声明变量的类型,变量的类型和值在赋值那一刻动态地初始化.这一点与C/C++,Java等静态类型语言完全不同,静态类型在编译阶段就必须显示的声明变量的类型,动态类似在运行时才确定变量的类型.        变量a动态地初始化为int类型,并赋值2014;        变量msg则动态初始化为str类型,并赋

Python的二维数组

Python一维数组初始化: >>> list=[] >>> type(list) <type 'list'> >>> list [] Python二维数组初始化: >>> lists = [[]] * 3 >>> lists [[], [], []] >>> lists[0].append(3) >>> lists [[3], [3], [3]] "[[]]

python 生成二维码

#coding:utf8 try: import qrcode except ImportError: qrcode = None class MakeQr: def onUseQrcode(self, value): qr = qrcode.QRCode(version=1, box_size=10, border=4) qr.add_data(value) qr.make(fit=True) x = qr.make_image() img_file = open("1.jpg",

Python基础二--基本控制语句

基本接触每一种语言,都需要做的:1.print 一个"Hello world!" 2.了解基本的数据类型 3.学习控制语句. 当我们学习控制语句,一般都离不开if,for ,while,switch(case).本文就做一个简单的介绍python的基本控制语句,其中我们用if while来做一个经典的"猜数字游戏",if for来做一个"输出完美数". 在此之前,对于一些没用过python的同学而熟悉c/c++等用{}来做块的要注意了,pytho

初学Python(二)——数组

初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 print len(list) #第一个元素 print list[0] #最后一个元素 print str(list[-1]) list.append(2.4) list.insert(1,2.7) list.pop(1) list.insert(1,['sdf','sdfdf']) print

python 内建函数setattr() getattr()

python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性. getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值:如果属性name不存在,则触发AttribetError异常或当可选参数default定

Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

Python入门(二)--IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化 我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说那么的被动,我学习的是Python2.7,虽然现在随着版本的迁移至Python3,但是这个并不会对我们造成什么困扰,毕竟只是一个适应阶段 我们的学习资料:廖雪峰官方网站Python2.7教程 一.IDE选择PyCharm 我们虽然在前面一章已经配置过,但是我们还是有很多的IDE可以开发Py,比如su