map()

map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

使用map实现一个f(x) = x * x的功能

def f(x):

return x * x

m = map(f, list(range(1, 10)))

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

print(list(m))

另外可以使用lambda函数简化

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

print(list(map(lambda x: x * x, list(range(1, 10)))))

Console Output

Note:

可以看出

lambda x: x * x

实际上就是:

def f(x):

return x * x

把list中的所有数字转为字符串

# ['1', '2', '3', '4', '5', '6', '7', '8', '9']

print(list(map(str, list(range(1, 10)))))

Console Output

reduce()

reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

使用reduce对一个序列求和

from functools import reduce

def add(x, y):

return x + y

# 55

print(reduce(add, list(range(1, 11))))

# 55

print(reduce(lambda x, y: x + y, list(range(1, 11))))

Console Output

把序列[1, 2, 3, 4, 5, 6, 7, 8, 9]变换成整数123456789

from functools import reduce

def fn(x, y):

return x * 10 + y

# 123456789

print(reduce(fn, list(range(1, 10))))

# 123456789

print(reduce(lambda x, y: x * 10 + y, list(range(1, 10))))

Console Output

map()和reduce()整合,把str转换位int

from functools import reduce

def char2num(s):

return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

# '13579' => 13579

print(reduce(fn, map(char2num, '13579')))

# '13579' => 13579

print(reduce(lambda x, y: x * 10 + y, map(char2num, '13579')))

def str2int(s):

def fn(x, y):

return x * 10 + y

def char2num(s):

return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

return reduce(fn, map(char2num, s))

print(str2int('13579'))

Console Output

参考资料:

python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...相关推荐

  1. python mssql session_python的web框架webpy【session amp; cookie】五 - 莫激动 - ITeye博客

    webpty中使用session非常简单 import web web.config.debug = False urls = ( "/count", "count&qu ...

  2. python二分法编程_python基础18——二分法面向过程匿名函数

    二分法 算法:是高效解决问题的办法 算法之二分法 格式: def binary_search(ls, num, lower=0, high=None): if high is None: high = ...

  3. python匿名函数可以赋值给变量_python3的匿名函数 | 吴老二

    匿名函数也是函数的一种,不过匿名函数和其他函数不一样,匿名函数只能是一种表达式,不能有return,返回值就是表达式的结果.匿名函数的关键词就是lambda,可以结合其他的函数一起使用,匿名函数的好处 ...

  4. python map函数_Python map()函数

    python map函数 Python map() function is used to apply a function on all the elements of specified iter ...

  5. Python函数式编程-map()、zip()、filter()、reduce()、lambda()

    三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, seq ...

  6. python正则匹配字符串中的数字_Python正则表达式匹配字符串中的数字

    1.使用"\d+"匹配全数字 代码: import re zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650. ...

  7. python正则表达式匹配字符串中的电话号码_Python正则表达式匹配字符串中的数字...

    这篇文章主要介绍了Python正则表达式匹配字符串中的数字,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1.使用"\d+"匹配全数字 代码: ...

  8. python创建匿名函数_Python练习实例48 | 使用lambda来创建匿名函数。

    关于lambda函数,在Python当中属于匿名函数,顾名思义,就是函数严格上来说只是定义了一个算法,并没有具体的名称. 小黄人.jpg 关于究竟什么是lambda函数,作者这里在这里也不做过多的讲解 ...

  9. python匹配数字开头的内容_python使用正则表达式匹配字符串开头并打印示例

    python 正则表达式,怎样匹配以某个字符串开头,以str ="abcdefg123213qwe" 比如要匹配以abc开头,以qwe结尾,要怎样写呢?匹配以某个字符串开头,以某个 ...

最新文章

  1. python与excel结合能做什么-Python网络爬虫与文本数据分析
  2. optee内核中malloc函数的原理介绍
  3. android 添加广告用proguard混淆后不显示问题解决方法
  4. bzoj4665: 小w的喜糖
  5. 工厂模式——JavaScript
  6. 将台式机组成云服务器_云桌面是什么?用了两年云桌面的真实感受
  7. 区块链系列教程之:比特币中的网络和区块链
  8. TensorFlow学习笔记(二十八)CNN的9大模型之AlexNet
  9. c++ 为什么要按它们声明的顺序初始化成员变量?
  10. 【XML】XML实例模板
  11. 那些文献阅读能力爆表的科研学子,都在偷偷做这件事……
  12. 微信小程序 - 基础 - 003 - WEUI - 基本表单组件 - form - 页面数据提交和获取 - 01
  13. android 如何开发出一款知名应用:构思篇
  14. 1 Oracle数据库环境搭建
  15. 大数据的分析手段有哪几种
  16. 关于项目部署到外网后,访问域名失败的原因之一
  17. 你所不知道的 AI 进展
  18. ArcMap10 批量等距离分割线段
  19. 怎么把度分秒化成小数_角度的度分秒与小数点格式互相转换
  20. linux phpstudy卸载,linux 安装phpstudy

热门文章

  1. 计算机语言史话论文,【论文节选】自然语言处理发展历史。
  2. 上位机和下位机的概念,理解如何实现PC从PLC中读取数据?
  3. springboot整合mybatisplus中@Mapper与@MapperScan的使用
  4. OS复习——设备管理习题
  5. request.getContextPath()取不到值
  6. 什么叫缺位_一位父亲能够给予孩子的最好礼物是什么?看看这部电影给出的答案...
  7. local service system账户_systemd.service学习和使用总结
  8. linux和信息资源管理,Linux top命令详解
  9. poi 不自动计算 设置单元格公式_Java POI:如何读取Excel单元格的值而不是计算公式?...
  10. python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息