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章 可迭代对 ...
随机推荐
- linux kernel链表
参考: http://blog.csdn.net/echoisland/article/details/7079943
- select 选择的制作
我说的select选择是指 手机端的话,一般考虑元素 + 伪类制作 .checkbox{ border:1px solid #987;width:16px;height:16px; } .checkb ...
- PHP 使用 password_hash() 给密码加密
PHP >= 5.5 时,可以使用 password_hash() 和 password_verify() 来对用户的密码进行加密和验证,例如在用户注册(加密存储)和登陆(验证): <?p ...
- Yii源码阅读笔记(三十二)
web/Application类的注释,继承base/Application类,针对web应用的一些处理: namespace yii\web; use Yii; use yii\base\Inval ...
- true_kb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 张小龙在2017微信公开课PRO版讲了什么(附演讲实录和2016微信数据报告)
今天2017微信公开课PRO版在广州亚运城综合体育馆举行,这次2017微信公开课大会以“下一站”为主题,而此次的微信公开课的看点大家可能就集中在腾讯公司高级副总裁.微信之父——张小龙的演讲上了!今天中 ...
- svn中第一次check out working copy项目下来出现 ld: library not found for -lcrypto clang: error: linker command failed with exit code 1 (use -v to see invocation)
这个问题主要是.a文件的忽略删除,需要更改设置,并且把文件重新添加
- Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦
注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从而让编辑文本的操作更迅捷.并不等同于IDE,在我看来,它们是两个是包含关系,IDE可以有Vim编辑模式.Vim或许可以通过 ...
- SSD Trim Support -- 保护 SSD
今天同事告诉我,换了 ssd 之后需要做以下配置能使 ssd 寿命更长.原理是配置系统定期清理和回收 ssd 的资源. 最终效果: 步骤: 1.下载 trim enabler: https://gis ...
- java中类继承,到底继承了什么?
继承的最大好处就是为了实现代码的复用.那么,子类到底从父类得到的什么呢? 实例成员 父类的private成员不会被子类继承,子类不能访问.但是子类对象的确包含父类的私有成员. 父类的 包访问成员 继承 ...