• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python中map,reduce,filter和sorted函数的使用方法

Python中map,reduce,filter和sorted函数的使用方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python map reduce,map reduce,map reduce原理,map reduce模型,java map reduce等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

map

map(funcname, list)

</div>

python的map 函数使得函数能直接以list的每个元素作为参数传递到funcname中, 并返回响应的新的list
如下:

def sq(x):
  return x*x #求x的平方
map(sq, [1,3, 5,7,9]) #[1, 9, 25, 49, 81]

</div>

在需要对list中的每个元素做转换的时候, 会很方便

比如,把list中的每个int 转换成str

map(str, [23,43,4545,324]) #['23', '43', '4545', '324']

</div>

当然, 第二个参数是list, 也可以是tuple 或者是set类list结构的, dict 是不行的,不过返回的结果都是list

map(sq, (1,3, 5,7,9)) # tuple [1, 9, 25, 49, 81]
map(sq, set([1,3, 5,3,7,9])) # set [1, 9, 81, 25, 49]

</div>

这里顺便说一下, dict的结构是用{} 表示的,如

 {"name": "Yi_Zhi_Yu", "age":25}

</div>

是直观的key-value形式, 那么如果{}中的是一个类list的结构呢, 如:

{"Yi_Zhi_Yu", 25}

</div>

其实, 这就是set的最终返回形式, 等价于:

set(["Yi_Zhi_Yu", 25])# 你会看到最终的输出形式是{25, 'Yi_Zhi_Yu'}

</div>

那么, 自然{}有重复值得时候也会去重

  {1,3, 5, 3, 7, 9} #{1, 3, 5, 7, 9}

</div>

reduce

reduce(funcname, list)

</div>

与map相比 , reduce类似于一个聚合类的应用方法, 把list中的参数, 依次传递给funcname, 每次funcname的参数都是上个funcname 执行结果和下一个list中的元素, 所以, funcname 的 参数必须是两个. 从执行过程看, 有点像递归

例如: 求range(1, 101)(不包括101)的和,

def c_sum(x, y):
  return x + y;
reduce(c_sum, range(1,101)) #5050

</div>

filter

filter(funcname, list)

</div>

执行过程依次将list中的元素传递到funcname函数中, 根据funcname返回的True或False 保留或丢弃元素

例: 返回某个list中的所有int数据

 def is_int(x):
  if isinstance(x, (int)):
    return True
  else:
    return False

 filter(is_int, ["Yi",2, "3", 4]) #[2, 4]

sorted

sorted( list, [comp_func])

</div>

排序方法, 第二个是可选参数, 根据可选参数返回的值, 对结果进行排序, comp_func 接受两个参数(x, y), 最终返回的结果应该是-1.0,1, 如果返回的是-1, 表示x<y , 0表示x=y, 1表示x>y, 所以, 实际的排序可以自定义
默认是正序排序:

sorted([3,4, 12, 5, 9, 1]) #[1, 3, 4, 5, 9, 12]

</div>

如果是需要倒序排列, 自定义方法:

 def m_order(x, y):
  if(x > y):
    return -1
  elif(x == y):
    return 0
  else:
    return 1
sorted([3,4, 12, 5, 9, 1], m_order) #[12, 9, 5, 4, 3, 1]

</div>

</div>

您可能想查找下面的文章:

  • python用reduce和map把字符串转为数字的方法
  • Python中map,reduce,filter和sorted函数的使用方法
  • Python中的map()函数和reduce()函数的用法
  • Python中的map()函数和reduce()函数的用法
  • Python map和reduce函数用法示例
  • Python中的map、reduce和filter浅析
  • Python中的map、reduce和filter浅析

相关文章

  • tensorflow实现在函数中用tf.Print输出中间值
  • Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
  • Python2.x版本中基本的中文编码问题解决
  • Python运行的17个时新手常见错误小结
  • 基于Python 的进程管理工具supervisor使用指南
  • Python开发常用的一些开源Package分享
  • python命令行参数解析OptionParser类用法实例
  • 解析Python中的二进制位运算符
  • 使用Python的Scrapy框架十分钟爬取美女图
  • 在Python中操作时间之tzset()方法的使用教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python中的特殊语法:filter、map、reduce、lambda介绍
    • Python读取环境变量的方法和自定义类分享
    • Python中的with...as用法介绍
    • pytyon 带有重复的全排列
    • python写入xml文件的方法
    • Python采集腾讯新闻实例
    • Python的Flask站点中集成xhEditor文本编辑器的教程
    • Python查找相似单词的方法
    • Python连接DB2数据库
    • Windows系统下安装Python的SSH模块教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有