python_函数
一.map
遍历序列,对序列中每个元素进行操作,最终获取新的序列

li = [11,22,33,44]
new_list = map(lambda a: a + 100,li)
print(new_list)
print(list(new_list)) #输出结果
<map object at 0x00000000011742B0>
[111, 122, 133, 144] #第一个print打印得结果是new_list的内存地址,我们需要将new_list
转换为list类型,才能看到结果
二.filter
对于序列中的元素进行筛选,最终获取到符合条件的序列

li = [11,22,33,44]
new_list = filter(lambda a: a >22,li)
print(list(new_list)) #[33, 44]
三:reduce
对于序列内所有元素进行累计操作


from functools import reduce
li = [11,22,33,44]
result = reduce(lambda arg1, arg2: arg1 + arg2,li)
res = reduce(lambda arg1, arg2: arg1 + arg2,li, 100)
print(result) #
print(res) # 210 #参数末尾的100为默认参数,可指定,也可不指定,如果不指定就按照li列表中的元素,依次相加,如果指定默认参数为100,就按照100开始相加 #reduce的第一个参数,函数必须要有两个参数
#reduce的第二个参数,要循环的序列
#reduce的第三个参数,初始值
总结
#map,filter,reduce,可以处理所有的数据类型
name_dic = [
{'name':'ying','age':28},
{'name':'jack','age':50},
{'name':'rain','age':10},
{'name':'alex','age':70},
{'name':'zcy','age':40},
]
#利用filter过滤掉,年龄为50,70,40的 def func(x):
age_list = [70,50,40]
return x['age'] not in age_list res = filter(func,name_dic)
for i in res:
print(i)
#{'age': 28, 'name': 'ying'}
#{'age': 10, 'name': 'rain'} result = filter(lambda x:x['age'] < 40,name_dic)
print(list(result))
#[{'age': 28, 'name': 'ying'}, {'age': 10, 'name': 'rain'}] #reduce用来计算1到100的和
from functools import reduce
print(reduce(lambda x,y:x+y,range(100),100)) #
print(reduce(lambda x,y:x+y,range(1,101))) # #用map来处理字符串列表,把列表中所有人都变成sb,如alex_sb
name = ['alex','jack','rain']
res = map(lambda x:x+'_sb',name)
print(list(res))
#['alex_sb', 'jack_sb', 'rain_sb']
四:内置函数

#abs() 绝对值 ,正数的绝对值为它本身,负数的绝对值为它的正数,0的绝对值为0
print(abs(9)) #
print(abs(-8)) #
print(abs(0)) # #all()判断所有的集合元素都为真是即为真,有一个元素为即为假
list_test = [11,22,33,44,5]
print(all(list_test)) # True
list_test_two = ['',11,22,None,33,44,5]
print(all(list_test_two)) # False #any()判断所有集合中的元素有一个为真就为真,若为空放回False
list_test = ['',11,22,None,33,44,5]
print(any(list_test)) # True
list_test_two = []
print(any(list_test_two)) # False #bool()判断真假
#在python中,0,None,空(字典,列表,元组,字符串,集合)为假,其他都为真 #ord()返回字符串对应的ASCII字符编码
print(ord('y')) # #bin()将十进制转换为二进制
print(bin(10)) # 0b1010 #oct()将十进制转换为八进制
print(oct(9)) # 0o11 #hex()将十进制转换为十六进制
print(hex(10)) # 0xa #min() 取一个集合中最小的值
list_test = [11,22,33,44,5]
print(min(list_test)) # #max()取一个集合中最大的值
print(max(list_test)) # #dir()不带参数时,返回当前范围内的内置函数,带参数时,返回该参数的属性和内置方法 #int()把一个对象转换成整数也就是10进制
int("",base=2) #2进制转10进制 7
int("",base=8) #8进制转10进制 375
int("aa",base=16) #16进制转10进制 170
int(10.123) #转换成整数 10 #divmod()获取商和余数
print(divmod(10,3)) # (3, 1) 商3余1 #eval(),返回对象本身
print(eval(''+'')) #
print(eval('10 + 10')) # #id()返回一个对象的内存地址
list_test = [11,22,33,44,5]
print(id(list_test)) # #len()返回一个对象的长度
list_test = [11,22,33,44,5]
print(len(list_test)) # #frozenset()冻结集合,让其不运行修改
list_test = [11,22,33,44,5]
print(frozenset(list_test)) # frozenset({33, 11, 44, 5, 22}) #range()产生一个序列
print(range(1,10)) # range(1, 10) # reversed() 反转
list_test = [11,22,33,44,5]
print(list(reversed(list_test))) # [5, 44, 33, 22, 11] #round()四舍五入
print(round(3.5)) #
print(round(3.2)) # #sorted()集合排序
list_test = [11,22,33,44,5]
print(sorted(list_test)) # [5, 11, 22, 33, 44] #sum()求和
list_test = [11,22,33,44,5]
print(sum(list_test)) #
print(sum(range(1,100))) # #type()返回该对象的类型
list_test = [11,22,33,44,5]
print(type(list_test)) # <class 'list'> #zip()压缩,zip函数接收任意多个序列做为参数,返回一个元组,列表
l1 = ["alex",22,33,44,55]
l2 = ["is",22,33,44,55]
l3 = ["good",22,33,44,55]
l4 = ["guy",22,33,44,55]
result = zip(l1,l2,l3,l4)
print(list(result))
print(type(result)) #[('alex', 'is', 'good', 'guy'), (22, 22, 22, 22), (33, 33, 33, 33), (44, 44, 44, 44), (55, 55, 55, 55)]
#<class 'zip'>
五:三元运算
result = 值1 if 条件 else 值2 #如果条件为真:result = 值1
#如果条件为假: result = 值2
python_函数的更多相关文章
- python_ 函数
函数是啥? 函数能提高应用的模块性,和代码的重复利用率 函数特点? 1 代码块以 def 关键词开头,后接函数名和圆括号() 2 任何传入参数和自变量必须放在圆括号中间 3 函数以冒号开始,并且缩进 ...
- Python_函数的初识、函数的返回值、函数的参数
1.函数的初识 def关键字 空格 函数名(与变量名命名规则相同):英文冒号 函数体 执行函数:函数名+() 函数是以功能为导向的. def login(): pass def register(): ...
- python_函数名的应用、闭包、装饰器
0.动态传参内容补充: 0.1 单纯运行如下函数不会报错. def func1(*args,**kwargs): pass func1() 0.2 *的魔性用法 * 在函数定义的时候,代表聚合. *在 ...
- Python_函数的有用信息、带参数的装饰器、多个装饰器装饰一个函数
函数的有用信息 代码1: def login(username, password): """ 此函数需要用户名,密码两个参数,完成的是登录的功能. :return: T ...
- Python_函数_参数
def 是函数的关键字,Python解释器一旦执行到def,默认不执行 def li(): n = 8 n +=1 print(n) li() li2 = li li2() 结果: 9 9 ret ...
- Python_函数的镶嵌和作用域链_26
def max(a,b): return a if a>b else b def the_max(x,y,z): #函数的嵌套调用 c = max(x,y) return max(c,z) pr ...
- Python_函数_复习_习题_24
# 函数 # 可读性强 复用性强# def 函数名(): # 函数体 #return 返回值# 所有的函数 只定义不调用就一定不执行 #先定义后调用 #函数名() #不接收返回值#返回值 = 函数名( ...
- python_函数中使用*和**
Python在函数中,使用*接收元组,使用**接收键/值对 当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 .这种方法在函数需要获取可变数量的参数 的时候特别有用 ...
- python_函数进阶(5)
第1章 函数有用信息1.1 login.__doc__1.2 login.__name__第2章 装饰器的进阶2.1 带参数的装饰器2.2 多个装饰器装饰一个函数2.3 开放封闭原则 第3章 可迭代对 ...
随机推荐
- JavaScript slice() 方法
JavaScript slice() 方法 JavaScript Array 对象 实例 在数组中读取元素: var fruits = ["Banana", "Oran ...
- Android组件安全
今天在看有关Android组件安全的东西 1.Activity Android系统组件在指定Intent过滤器(intent-filter)后,默认是可以被外部程序(签名不同,用户ID不同)访问的,在 ...
- Objective-C Runtime使用之全局字体替换为第三方字体(iOS)
前言: iOS开发里头,常用的设置字体方式是使用UIFont的systemFontOfSize这个Class Method,在一半情况下都算够用. 最近有设计师朋友问能不能在客户端中使用特定的字体,答 ...
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)
本文转载自:http://www.cnblogs.com/jpf-java/p/6013540.html 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybati ...
- Linq分组
1.lin语句 int[] nums = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 3 }; DataTable table = new DataTable("Numb ...
- org.springframework.web.servlet.DispatcherServlet noHandlerFound
1 请求URL: http://localhost:8080/mvc/rojas 2 control RequestMapping : @RequestMapping(value="xx ...
- SQL UNION 和 UNION ALL 操作符\SQL SELECT INTO 语句\SQL CREATE DATABASE 语句
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...
- 《linux内核设计与实现》实践之模块及深入
<linux内核设计与实现>实践之模块及深入 写在前面的话. 基础模块部分我已经做完了,设计到的知识点无非就是,编写模块代码,编写Makefile文件,加载模块和卸载模块部分.由于大家都 ...
- vi(Visual Editor)常用的命令
任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复 杂的指令 ...
- GIT 配置管理
git版本控制开发流程小结笔记(一) 收藏 何良瑞Nyanko君 ...