python学习笔记 map&&reduce
---恢复内容开始---
1.map
1)map其实相当对吧运算符进行一个抽象,返回的是一个对象,但是这里不知道为什么不可以对一个map返回变量打印两次,难道是因为回收了?
def f(x):
return x*x tmp = map(f,range(6))
tmps = map(str,range(6))
print (list(tmp))
#print (list(tmps))
print (type(range(6)))#range返回的就是range类型<class 'range'>
print (set(tmps))
print(list(tmps))#此时的输出不在是range6的List而是一个空的[]
2)reduce 需要两个以上的参数才能使用,一般是作用域一个list上的,比如下面的求和
tadd = reduce(add,range(6))
print (tadd)
tadd = reduce(add, [x for x in range(6) if x%2 != 0])
print (tadd)
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
# -*- coding: utf-8 -*-
"""
Spyder Editor This is a temporary script file.
"""
from functools import reduce
tadd = reduce(add,range(6))
print (tadd)
tadd = reduce(add, [x for x in range(6) if x%2 != 0])
print (tadd)
tadd = reduce(fn,[x for x in range(9) if x%2 != 0])
print (tadd)
3)对于一些版本的简化:
from functools import reduce
def f(x):
return x*x def add(x1,x2):
return x1+x2
def fn(x1,x2):
return 10*x1+x2 def char2num(s):
return {'':0,'':1,'':2,'':3,'':4,'':5,'':6,'':7,'':8,'':9}[s] def str2int(s):
def char2num(s):
return {'':0,'':1,'':2,'':3,'':4,'':5,'':6,'':7,'':8,'':9}[s] def fn(x1,x2):
return 10*x1+x2
return reduce(fn,map(char2num,s))
def str2int_2(s):
return reduce(lambda x,y:x*10+y,map(char2num,s)) tmp = map(f,range(6))
tmps = map(str,range(6))
print (list(tmp))
#print (list(tmps))
print (type(range(6)))#range返回的就是range类型<class 'range'>
print (set(tmps))
print(list(tmps))#此时的输出不在是range6的List而是一个空的[] tadd = reduce(add,range(6))
print (tadd)
tadd = reduce(add, [x for x in range(6) if x%2 != 0])
print (tadd)
tadd = reduce(fn,[x for x in range(9) if x%2 != 0])
print (tadd)
print (reduce(fn,(map(char2num,''))))
print (str2int(''))
print (str2int_2(''))
---恢复内容结束---
python学习笔记 map&&reduce的更多相关文章
- Python学习笔记 - map reduce
#!/usr/bin/env python3 # -*- coding: utf-8 -*- def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, ...
- Python学习笔记之map、zip和filter函数
这篇文章主要介绍 Python 中几个常用的内置函数,用好这几个函数可以让自己的代码更加 Pythonnic 哦 1.map map() 将函数 func 作用于序列 seq 的每一个元素,并返回处理 ...
- Python学习笔记(八)
Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- Python学习笔记(四)函数式编程
高阶函数(Higher-order function) Input: 1 abs Output: 1 <function abs> Input: 1 abs(-10) Output: 1 ...
- Python 学习笔记(下)
Python 学习笔记(下) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(下) 函数设计与使用 形参与实参 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- 【python学习笔记】4.字典:当索引不好用时
[python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...
随机推荐
- CSS之 absoulte 属性
特性: absoulte 与 float 具有相同的特性:包裹性,与破坏性 absoulte 与 float 可以交替使用 不受 relative 限制的 absoulte 定位,行为表现上可以不 ...
- 从零开始搭建框架SSM+Redis+Mysql(一)之摘要
从零开始搭建框架SSM+Redis+Mysql(一)之摘要 本文章为本人实际的操作后的回忆笔记,如果有步骤错漏,希望来信307793969@qq.com或者评论指出. 本文章只体现过程,仅体现操作流程 ...
- win10 uwp 改变鼠标
经常在应用需要修改光标,显示点击.显示输入,但是有些元素不是系统的,那么如何设置鼠标? 本文主要:UWP 设置光标,UWP 移动鼠标 设置光标 需要写一点代码来让程序比较容易看到,什么光标对于什么. ...
- PHP 404页面/如何设置404页面/URL静态化/URL伪静态化
php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404. ...
- ajax上传图片的本质
1.图片上传到服务器. 2.后台将图片地址传到html页面,以图片形式展现. 3.后天将图片地址加入到input表单中,表单处于隐藏状态. 4.前端删除图片,通过js操作,移除图片与表单数据. 5.图 ...
- RandomAccessFile类进行文件加密
文件加密/解密示例. package io; import java.io.*; public class encrypt { private File file; //存储文件对象信息 byte[] ...
- linux命令行下svn常用命令
linux命令行下svn常用命令 1. 将文件checkout到本地目录 1 #path是服务器上的目录 2 svn checkout path 3 4 #示例 5 svn checkout svn: ...
- struts2类型转换相关问题
一.类型转化错误时,如何处理? 若Action类没有实现ValidationAware接口,在类型转化错误时,struts2会继续调用action方法,将该属性值置为默认值,不报错. 若Action类 ...
- App 组件化/模块化之路——使用SDK的思路进行模块化设计接口
在不久之前分享一篇<App 组件化/模块化之路——如何封装网络请求框架>文章介绍了我在项目中封装网络请求框架的思路.开发一个 App 会涉及到很多网络请求 API ,例如登录注册接口.用户 ...
- Machine-learning of Andrew Ng(Stanford University)
1.基础概念 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提高.当今机器学习 ...