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章 可迭代对 ...
随机推荐
- Markdown常用语法
什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...
- Sublime Text 3 杂记
Sublime Text 是一个功能强大的代码编辑器(收费,但可无限期试用).由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim.Sublime T ...
- java并发编程-基础
线程带来的风险 安全性:多线程操作执行顺序的不可预测性 -- 永远不发生糟糕的事情: 活跃性:代码无法得到执行,死锁.饥饿问题 -- 某件正确的事情最终会发生: 性能问题:活跃性只意味着某件事最终会发 ...
- MINIUI版本破解
miniui类似easyui是一个web ui,功能比不上人家还是收费,收费也就算了,代码还加密混淆,过期提示脚本越写越离谱,严重低估IT人员的智慧,对此表示强烈不满,故下载了几个版本花了一小时破解: ...
- 深入解析PHP中逗号与点号的区别
大部分同学都知道逗号要比点号快,但就是不知道为什么,更不知道逗号与点号这两者之间到底有什么区别.下面小编就来详细的为大家介绍一下,需要的朋友可以过来参考下 echo 'abc'.'def'; //用点 ...
- SET QUOTED_IDENTIFIER ON和SET ANSI_NULLS ON
distinct是sqlserver的标识符,如果想以distinct为表时,在QUOTED_IDENTIFIER为off的情况下,是不能创建表名为distinct的表的,因为在QUOTED_IDEN ...
- 怎么搭建DC+SCCM 域环境(一)
需要的软件: 1. SCCM 2012 SP1 2. SQL Server 2012 3. System ISO 4. ADK 环境搭建顺序: 1. 安装DC和SCCM 机器,并配置需要的IP.DNS ...
- oracle数据库连接慢的问题
1.现象 工程为spring+mybatis+xfire,webservice工程服务,实现的接口数据功能 2.修复方法 经过各种尝试: 1.重新部署工程 无果 2.重新部署tomcat ...
- C++:C++的两种多态形式
// // main.cpp // Test.cpp // // Created by mac on 15/8/11. // Copyright (c) 2015年. All rights reser ...
- ASP.NET TextBox 当鼠标点击后清空默认提示文字[转]
前台文本框里添加下面2个事件属性: OnFocus="javascript:if(this.value=='提示文字') {this.value=''}" OnBlur=" ...