Python内建函数二
内置函数二:
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内建函数二的更多相关文章
- python 内建函数 filter,map和reduce
python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用. ...
- python 内建函数setattr() getattr()
python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为v ...
- Python 基础 二
Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...
- 初学Python(二)——数组
初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- 有关python下二维码识别用法及识别率对比分析
最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import ...
- PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...
- 从Scratch到Python——Python生成二维码
# Python利用pyqrcode模块生成二维码 import pyqrcode import sys number = pyqrcode.create('从Scratch到Python--Pyth ...
- Python内建函数-callable
Python内建函数-callable callable(object) 中文说明:检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojb ...
随机推荐
- 线上cpu100%问题快速定位
问题描述:服务器上部署了多个tomcat,即垂直切分的Web站点,记忆多个Java微服务,突然收到运维的cpu异常告警. 步骤一:找到最耗cpu的进程 工具:top 方法: 执行top -c,显示进程 ...
- matlab之find()函数
Find 这个函数用处也挺大的,这几天看很多程序都见到这一函数,今天要好好给阐述,了解下这个函数是为了找到矩阵或者是数组,向量中的非零元素.下面一大段英文没耐心看.看看例子就行了. 第一个用法是 nd ...
- linux 进程学习笔记-进程pipe管道
所谓“进程间通信(IPC,inter-process communication)”,按照其目的讲就是让进程之间能够“共享数据”,“传输数据”,“事件通知”等,我所知道的一共有“管道” “信号” “消 ...
- Android的appium实例
1.查看Android的应用包名和activity的方法 (网上有很多种方法,这里应用的是查看日志的方法) CMD中输入>adb logcat -c &g ...
- bzoj 3376 [Usaco2004 Open]Cube Stacking 方块游戏——带偏移量的并查集
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3376 带偏移量的并查集. #include<iostream> #include ...
- mysql备份并升级sql语句
#!/bin/bash ' time=`date +%Y%m%d-%H%M` db_path=/root/code/xizang_PAD_project/PHP_business_server/tfc ...
- 一 Kubernetes介绍
Kubenetes是一款由Google开发的开源的容器编排工具,它可以解决以下分布式环境下的问题: 调度 你已经得到了这个很棒的基于容器的应用程序? 太棒了!现在你需要确保它能够运行在它应该运行的地方 ...
- linux svn 客户端基本使用命令
1.从svn获取项目 svn co URL --username XX --password XX; 2.添加code file svn add codeFile; svn ci -m "c ...
- Arduino 元件
http://www.rs-online.com/designspark/electronics/
- 《深入分析Java Web技术内幕》读后感(servlet)
见书第九章 P243 在Tomcat的容器等级中,Context容器直接管理Servlet在容器中的包装类Wrapper,所以Context容器如何运行将直接影响Servlet的工作方式. Servl ...