1. map()函数

  原型:map(fn,lsd)

  参数1是函数

  参数2是序列

  功能:将传入的函数一次作用在序列中的每一个元素。并把结果作为一个新的Iterator返回。其实map函数就是一个for循环查找。需要functools库。

  图示:

  实例1:

# 实例1:
from functools import reduce
# python内置的map函数
def chr2int(str):
return {"":,"":,"":,"":,"":,"":,"":,"":,"":,"":}[str]
# return后面哪一窜表示将单个字符转换成对应的字面量整数,按照键去取值。 list1 = ["","","",""]
res = map(chr2int,list1)
# 运行过程:[chr2int("") chr2int("") chr2int("") chr2int("")]
print(res) # 惰性列表
print(list(res)) # 显式转换成列表
# [, , , ]

  实例2:将整数元素的序列,转换为字符串型。

# 实例2:
# 将整数元素的序列,转换为字符串型
# [,,,] --- ["","","",""]
l = map(str,[,,,])
print(l)
print(list(l))
# ['', '', '', '']

2. reduce()函数

  原型:reduce(fn,lsd)

  参数1为函数

  参数2为列表

  功能:一个函数作用在序列上,这个函数必须接受两个参数,reduce把结果继续和序列的下一个元素累计计算。相当于一个递归算法。需要functools库。

  举例:

  reduce(f,[a,b,c,d])

  f(f(a,b),c)

  f(f(f(a,b),c),d)

  实例1:

  1 + 2

  1 + 2 + 3

  1 + 2 + 3

  1 + 2 + 3 + 4

  1 + 2 + 3 + 4 + 5

# 实例1:
# +
# + +
# + + +
# + + + +
list2 = [,,,,] def mySum(x,y):
return x + y r = reduce(mySum,list2)
print("r = ",r)
# r =

  实例2:将字符串转换成对应的字面量数字。

# 实例2:
# 将字符串转成成对应字面量数字
# 比如:
# * + =
# * + =
# * + =
# * + =
def str2int(str):
def fc(x,y):
return x * + y
def fs(str):
return {"": , "": , "": , "": , "": , "": , "": , "": , "": , "": }[str]
return reduce(fc,map(fs,list(str))) print(str2int(""))
#
from functools import reduce

Python笔记_第四篇_高阶编程_高阶函数_1.map和reduce的更多相关文章

  1. Python开发【第四篇】: 三大器和内置函数

    内容概要 函数名 闭包 迭代器 生成器 推导式与表达式 内置函数 装饰器 初识递归 1.函数名 函数名的运用: 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 01. 函数名的 ...

  2. Python笔记_第四篇_高阶编程_进程、线程、协程_5.GPU加速

    Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码.Pyt ...

  3. Python笔记_第四篇_高阶编程_魔法(术)方法详解(重载的再详解)

    1. 魔法方法是什么? 魔法方法(Magic Method)是Python比较独特的应用,它可以给你的类增加特殊的方法,如果你的对象实现了(重载),这些方法中的某一个,就会被Python所调用.正如装 ...

  4. python学习【第四篇】python函数 (一)

    一.函数的介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以 ...

  5. JS_高阶函数(map and reduce)

    //高阶函数:一个函数可以接受另一个函数作为参数,这种函数称之为高阶函数. */ function f(x,y,f){ return f(x)+f(y); } var sumAbs=f(-6,4,Ma ...

  6. 高阶函数及 map、reduce、filter 的实现

    博客地址:https://ainyi.com/85 2020 开年国家经历了不少困难,最为凶猛的局势就是新型冠状病毒的蔓延,国务院最终决定春节假期延长至==2 月 2 号==:公司决定 3 - 7 号 ...

  7. Python笔记_第四篇_高阶编程_实例化方法、静态方法、类方法和属性方法概念的解析。

    1.先叙述静态方法: 我们知道Python调用类的方法的时候都要进行一个实例化的处理.在面向对象中,一把存在静态类,静态方法,动态类.动态方法等乱七八糟的这么一些叫法.其实这些东西看起来抽象,但是很好 ...

  8. Python笔记_第四篇_高阶编程_再议装饰器和再议内置函数

    1. 概述: 我们在前面用了很多的装饰器这个工具的方法.这个位置要系统的讲一下装饰器. 1.2 为什么需要装饰器. 装饰器本质是一个Python函数,它可以让其他函数在不需要任何代码变动的前提下增加额 ...

  9. Python笔记_第四篇_高阶编程_正则表达式_2.正则表达式入门

    1. 匹配单个字符和数字: . --->> 匹配除换行符以外的任意字符.[0123456789] --->> []字符集合,表示匹配方括号中所包含的任意一个字符.[Thomas ...

随机推荐

  1. 【pwnable.kr】 memcpy

    pwnable的新一题,和堆分配相关. http://pwnable.kr/bin/memcpy.c ssh memcpy@pwnable.kr -p2222 (pw:guest) 我觉得主要考察的是 ...

  2. 英语语法 - the + 形容词 的意义

    1,表示一类人  (复数) the young 青年 the old 老年the poor 穷人 the rich 富人the sick 病人 The old need care more than ...

  3. yeoman 介绍、安装 和 使用

    一.介绍.安装 1, 是什么 Yeoman其实是3个工具的总和: ü  yo --- 脚手架,自动生成工具 ü  Grunt.gulp --- 构建工具 (最初只有grunt,后面gulp火了添加进来 ...

  4. 第十八篇 admin组件

    admin组件 admin组件使用 admin源码解析 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以 ...

  5. linux下如果指令太长,怎么换行输入;怎么快速删除整行命令;怎么快速移动到命令最前或者最后

    1.范例:如果指令串太长的话,如何使用两行来输出?[dmtsai@study ~]$ cp /var/spool/mail/root /etc/crontab \> /etc/fstab /ro ...

  6. Java学生成绩系统

    package text; public class helloworld{ private String stunumber; private String name; private double ...

  7. CodeForces - 402B Trees in a Row (暴力)

    题意:给定n个数,要求修改其中最少的数,使得这n个数满足ai + 1 - ai = k. 分析: 暴力,1000*1000. 1.这n个数,就是一个首项为a1,公差为k的等差数列.k已知,如果确定了a ...

  8. Arduino - -- 串口双向通信

    需要用到Arduino UNO的串口双向通信功能,以下源码: int val; void setup() {   Serial.begin(9600); // opensserial port, se ...

  9. Day1-T2

    原题目 在小X的认知里,质数是除了本身和1以外,没有其他因数的数. 但由于小 X对质数的热爱超乎寻常,所以小X同样喜欢那些虽然不是质数, 但却是由两个质数相乘得来的数. 于是,我们定义一个数小 X喜欢 ...

  10. Eclipse 快速打开文件所在的本地目录

    目前收集到两种方法: 1.快捷键:Ctrl+Shift+W 2.利用Eclipse的External Tools设置快捷方式 第二种方法步骤: a.Run->External Tools-> ...