1.map 和 reduce
①从参数方面来讲:
map()包含两个参数,第一个参数是一个函数,第二个是序列(列表 或元组)。其中,函数(即 map的第一个参数位置的函数)可以接收一个或多个参数。
reduce()第一个参数是函数,第二个是序列(列表或元组)。但是,其函数必须接收两个参数。
②从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次 。
reduce()是将传入的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用
(累积计算)。
2.以下是实例展示
t=list(map(lambda x,y:x+y ,[1,2,3],[4,5,6]))
print(t)
from functools import reduce
def add(x,y):
return(x+y)
print(reduce(add, [1, 2, 3, 4, 5]))
多余的解释
reduce:将一个可以迭代的对象应用到两个带有参数的方法上,我们称这个方法为fun,遍历这个可迭代的对象,将其中元素依次作为fun的参数,但是这个函数有两个参数,那些作为参数呢?
reduce(fun,sequence[,initial_val])
reduce函数有三个参数,第一个参数就是作用函数,第二个函数就是可迭代的对象,第三个是迭代初始值。
如果存在第三个参数,也就是有初始迭代对象,那么 initial_val作为fun函数的第一个参数, sequence 的第一个元素作为fun的第二个参数,得到返回结果的作为下一次函数的第一个参数,sequence的第二个参数作为下一次迭代过程中的第二个参数,以此类推。
如果不存在第三个参数,那么sequence的第一个参数作为fun函数的第一个参数,sequence的第二个参数作为fun函数第二个参数,以此类推。
3.zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。
如果需要了解 Pyhton3 的应用,可以参考 Python3 zip()。
4.SUPER
super() 函数是用于调用父类(超类)的一个方法。
super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。
5.isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
6. sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
拓展文章
1.python中的filter、map、reduce、apply用法总结
https://blog.csdn.net/qq_32618817/article/details/80633848
2.Python常用内置函数介绍【filter,map,reduce,apply,zip】
https://blog.csdn.net/Jerry_1126/article/details/41143579
3.Python中的map,filter,sort,reduce,zip内置函数
https://blog.csdn.net/define_us/article/details/79869784
4.python中的map 、reduce 、filter
https://blog.csdn.net/weixin_40763402/article/details/81977807
5.Python中的super()用法
https://blog.csdn.net/qq_14935437/article/details/81458506
6.isinstance() 和 type() 有什么区别?
https://segmentfault.com/q/1010000000160267
https://stackoverflow.com/questions/1549801/what-are-the-differences-between-type-and-isinstance
7.python中==和is与isinstance()和type()区别
https://blog.csdn.net/ryuhfxz/article/details/82965200
8.python中sorted与sort的区别
https://zhuanlan.zhihu.com/p/36309190