内置函数二:

    1.lambda   (匿名函数)
为了解决一些简答的需求而设计的一句话函数。不需要def来声明。
def func(n):
return n*n
print(func(10))# f = lambda n: n*n
print(f(10))# 注意:
语法:函数名 = 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]

Python内建函数二的更多相关文章

  1. python 内建函数 filter,map和reduce

    python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用. ...

  2. python 内建函数setattr() getattr()

    python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为v ...

  3. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  4. 初学Python(二)——数组

    初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...

  5. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  6. 有关python下二维码识别用法及识别率对比分析

    最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import ...

  7. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  8. 从Scratch到Python——Python生成二维码

    # Python利用pyqrcode模块生成二维码 import pyqrcode import sys number = pyqrcode.create('从Scratch到Python--Pyth ...

  9. Python内建函数-callable

    Python内建函数-callable callable(object) 中文说明:检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojb ...

随机推荐

  1. Contiki Rtimer 模块

    一.rtimer概述 The Contiki rtimer library provides scheduling and execution of real-time tasks (with pre ...

  2. 苹果AppStore如何申请加急审核

    登录iTunesconnect,点击右上角的“?”图标,选择“联系我们”. iTunes Connect首页 依次选择“App Review”.“App Store Review” .” Reques ...

  3. 修改ubuntu14.04命令行启动

    方法1: 原来要想默认不进入xwindows,只需编辑文件”/etc/default/grub”, 把 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 改成GRUB ...

  4. rust borrow and move

    extern crate core; #[deriving(Show)] struct Foo { f : Box<int> } fn main(){ let mut a = Foo {f ...

  5. bjwc Day1 暴力大战

    今天终于有题了... 题目是COCI2016/2017 Round #4 T1一看就是NP问题,k<=50,开始想暴力,想了个n^4的,大概能过,就没去管它 T2想得太naive,丢了100分给 ...

  6. UVALive - 7831 :ACM Tax (主席树求树路径上中位数:LCA+主席树)

    题意:给定一棵带权树,Q次询问,每次询问路径上的中位数. 思路:中位数分边数奇偶考虑,当当边数为num=奇时,结果就算路径第num/2+1大,用主席树做即可... (做了几道比较难的主席树,都wa了. ...

  7. zabbix告警邮件美化

    为了更好的用户体验,我们需要尽量美化我们的输出内容,尽量做到整齐划一,让人看了会有很舒服的感觉, 这个好像和苹果的产品一样,给人一种美感让人感觉非常享受. 一般我们的zabbix告警邮件就是纯文字,建 ...

  8. BZOJ3932:[CQOI2015]任务查询系统

    浅谈主席树:https://www.cnblogs.com/AKMer/p/9956734.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem.p ...

  9. Scala学习——可变参数(初)

    Scala 通过在参数的类型之后放一个星号来设置可变参数(可重复的参数) object Test { def main(args: Array[String]) { printStrings(&quo ...

  10. java 通过System.getProperties()获取系统参数

    转自:https://www.cnblogs.com/ksuifeng/archive/2010/09/25/1834416.html 1.java的System.getProperty()方法可以获 ...