①.、对可迭代函数'iterable'中的每一个元素应用'function'方法,将结果作为list返回.
来个例子:
def add100(x):
... return x+100
...
map(add100,hh)
就像文档中说的:对hh中的元素做了add100,返回了结果的list.
def abc(a, b, c):
... return a*10000 + b*100 + c
看到并行的效果了吧!在每个list中,取出了下标相同的元素,执行了abc().
map(None,list1)
①.、高阶函数
变量可以指向函数,函数的参数可以接收变量,那么函数可以接收另一个函数作为参数,这种函数称为高阶函数.
(1)把函数作为实参
(1)map函数:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并且把结果作为新的列表返回
把用户名按照首字母不区分大小写排序
关键字:商品个数
(1)sorted函数:
装饰器就是用来装饰函数的:想要增加原有函数的功能,但是不希望修改原有函数的定义,在代码运行期间动态增加功能的方式
(1)此装饰器的功能:计算函数的运行时间
import functools
@functools.wraps(f)? ?##保留原有函数的属性
运行结果:
import inspect
inspect.getcallargs()将传的参数封装为一个字典,字典的key值是形式参数,value值是实参
python学习网,大量的免费python视频教程,欢迎在线学习!
这几个函数在 Python 里面被称为高阶函数,本文主要学习它们的用法.
filter 函数原型如下:
第一个参数是判断函数(返回结果需要是 True 或者 False),第二个为序列,该函数将对 iterable 序列依次执行 function(item) 操作,返回结果是过滤之后结果组成的序列.
简单记忆:对序列中的元素进行筛选,获取符合条件的序列.
返回结果为: ,使用 list 函数可以输入序列内容.
map 函数原型如下:
该函数运行之后生成一个 list,第一个参数是函数、第二个参数是一个或多个序列;
下述代码是一个简单的测试案例:
上述代码运行完毕,得到的结果是: .使用 print(list(my_new_list)) 可以得到结果.
map 函数的第一个参数,可以有多个参数,当这种情况出现后,后面的第二个参数需要是多个序列.
map 函数解决的问题:
reduce 函数原型如下:
第一个参数是函数,第二个参数是序列,返回计算结果之后的值.该函数价值在于滚动计算应用于列表中的连续值.
测试代码如下:
简单记忆:对序列内所有元素进行累计操作.
zip 函数原型如下:
zip 函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表.
如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同,利用星号( * )操作符,可以将元组解压为列表.
展示如何利用 * 操作符:
输出结果如下:
简单记忆:zip 的功能是映射多个容器的相似索引,可以方便用于来构造字典.
enumerate 函数原型如下:
参数说明:
该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.
返回结果为: .
本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率.最好的学习资料永远是官方手册
map() 会根据提供的函数对指定序列做映射.
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 扩展资料
map() 函数语法:
map(function, iterable, ...);
参数:
function -- 函数;
iterable -- 一个或多个序列
不知道你的dataSet 是什么数据,是否是从数据库取出来的结果游标,
如果是的 那么dataSet 只能用一次,用空之后它就为空了
检测方法
D = map(set,dataSet)
print dataSet #看看这里的 dataSet 是否为空了
如果是以上说的情况 很容易解决
操作之前 给 给个变量 接纳一哈 这个结果集
tmp = dateSet
D = map(set,tmp)
print len(list(D))
map函数的用法如下:
注意:
map()返回的是一个迭代器,直接打印map()的结果是返回的一个对象.
map函数示例代码:
print(lst)
lst_int = map(lambda x: int(x), lst)
# print(list(lst_int))
for i in lst_int:
print(i, end=' ')
print()
print(list(lst_int))