一.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_函数的更多相关文章

  1. python_ 函数

    函数是啥? 函数能提高应用的模块性,和代码的重复利用率 函数特点? 1 代码块以 def 关键词开头,后接函数名和圆括号() 2 任何传入参数和自变量必须放在圆括号中间 3 函数以冒号开始,并且缩进 ...

  2. Python_函数的初识、函数的返回值、函数的参数

    1.函数的初识 def关键字 空格 函数名(与变量名命名规则相同):英文冒号 函数体 执行函数:函数名+() 函数是以功能为导向的. def login(): pass def register(): ...

  3. python_函数名的应用、闭包、装饰器

    0.动态传参内容补充: 0.1 单纯运行如下函数不会报错. def func1(*args,**kwargs): pass func1() 0.2 *的魔性用法 * 在函数定义的时候,代表聚合. *在 ...

  4. Python_函数的有用信息、带参数的装饰器、多个装饰器装饰一个函数

    函数的有用信息 代码1: def login(username, password): """ 此函数需要用户名,密码两个参数,完成的是登录的功能. :return: T ...

  5. Python_函数_参数

    def   是函数的关键字,Python解释器一旦执行到def,默认不执行 def li(): n = 8 n +=1 print(n) li() li2 = li li2() 结果: 9 9 ret ...

  6. 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 ...

  7. Python_函数_复习_习题_24

    # 函数 # 可读性强 复用性强# def 函数名(): # 函数体 #return 返回值# 所有的函数 只定义不调用就一定不执行 #先定义后调用 #函数名() #不接收返回值#返回值 = 函数名( ...

  8. python_函数中使用*和**

    Python在函数中,使用*接收元组,使用**接收键/值对 当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 .这种方法在函数需要获取可变数量的参数 的时候特别有用 ...

  9. python_函数进阶(5)

    第1章 函数有用信息1.1 login.__doc__1.2 login.__name__第2章 装饰器的进阶2.1 带参数的装饰器2.2 多个装饰器装饰一个函数2.3 开放封闭原则 第3章 可迭代对 ...

随机推荐

  1. final 评论 I

    新蜂团队:俄罗斯方块界面设计给人眼前一亮的感觉,很喜欢他们界面的颜色搭配.功能上实现了俄罗斯方块的基本功能,并且没有bug.最重要的是游戏有自己的创新点在里面,很喜欢游戏的瞄准功能.总的来说项目完成的 ...

  2. 微软的HLSL Shader Model 6.0 compiler要转向LLVM了,开源的节奏. Apple/Khronos都有各自计划

    So, Microsoft is making an opensource HLSL-to-almost-LLVM compiler, and Khronos is making an opensou ...

  3. java swing文件内容检索工具

    Java相关技术 - 文件内容检索工具 拿到一个几百M甚至上G的project让你去学习 有时候你会想知道某个关键词是在哪个文件里 比如:spring MVC配置的@RequestMapping,你从 ...

  4. 掌握Thinkphp3.2.0----视图

    我们将要学习一下 ThinkPHP 视图,视图是 Web 的可见内容,一般是 HTML结合 PHP 获取的数据提供给用户使用的部分,属于 MVC 中的 V 一. 模版定义 默认的模版文件定义规则:视图 ...

  5. webbrowser 内核切换

    修改注册表位置: [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER ...

  6. iOS duplicate symbol 变量 in 类名 报错

    该错误信息是我在一个.h文件里申明了公共变量,然后在其他类里重复使用. Build Settings ->No Common Blocks默认为YES,编译器就报错了,需要修改Build Set ...

  7. vuejs里封装的和IOS,Android通信模块

    项目需要,在vuejs开发的web项目中与APP进行通信,实现原理和cordova一致.使用WebViewJavascriptBridge. 其实也是通过拦截url scheme,支持ios6往前的系 ...

  8. System.Web.AspNetHostingPermission 类型的权限已失败

    System.Security.SecurityException: 请求“System.Web.AspNetHostingPermission, System, Version=2.0.0.0, C ...

  9. js 控制浏览器窗口大小

    //打开一个新窗口并设置其大小window.open('index.html','','width=450,height=750,location=no,menubar=no,status=no,to ...

  10. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...