讲解高阶函数 map() 的具体应用方式。
1、 在PyCharm中创建一个新文件。
2、 在输入map()后,按住Ctrl键并点击map,可查看内置模块buildings,发现map()实际上是一个类,且其名称首字母为小写,不符合常规命名习惯。
3、 内置模块包含众多类,如常见的 int()、list() 等,它们各自提供丰富的普通方法。而 map() 类则不同,其内部并未定义常用的实例方法,功能相对受限,使用方式也与其他可直接调用方法的类有所区别。
4、 写法为map(函数, *可迭代对象),返回一个map类型的迭代器对象。
5、 通过map类的构造函数可知,其参数包括一个函数名和一个可迭代对象。
6、 通过func函数对一个或多个可迭代对象进行操作,生成新的迭代器,运算过程持续到最短的可迭代对象耗尽为止。
7、 尽管map本质上是类,但通常被称为函数,因其接收函数作为参数,故也属于高阶函数范畴。
8、 使用map前需先定义函数或调用内置函数。
9、 例如,func_test 方法用于判断参数是否为整数,若是则将其值放大十倍后返回,若不是则直接返回原参数。
10、 若有一个列表 list_1,需将其中所有整数放大十倍,可使用 map 函数实现该操作。
11、 由于map返回的是迭代器,直接打印无法显示具体结果。
12、 通过迭代器的 next() 方法获取元素,或直接将其转换为原 list_1 的数据类型。
13、 例如next(test),逐个提取数据。
14、 将test转换为列表,可使用list(test)方法实现。
15、 当传入两个可迭代对象时,将其元素依次配对,并根据指定函数处理生成新的可迭代结果。
16、 所示,将两个列表元素逐一匹配,得出所需结果。
17、 当两个可迭代对象元素不相等时,返回的迭代器长度以较短者为准。
18、 新列表以a列表为基准生成,a有3个元素,因此新列表包含3个元素,忽略b列表中超出部分。
19、 当传入两个以上的可迭代对象时,仍按元素位置一一对应,生成新的结果。
20、 例如,随机生成多组三维空间坐标数据。
评论
更多评论