---恢复内容开始---

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的更多相关文章

  1. 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, ...

  2. Python学习笔记之map、zip和filter函数

    这篇文章主要介绍 Python 中几个常用的内置函数,用好这几个函数可以让自己的代码更加 Pythonnic 哦 1.map map() 将函数 func 作用于序列 seq 的每一个元素,并返回处理 ...

  3. Python学习笔记(八)

    Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...

  4. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  5. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  6. Python学习笔记(四)函数式编程

    高阶函数(Higher-order function) Input: 1 abs Output: 1 <function abs> Input: 1 abs(-10) Output: 1 ...

  7. Python 学习笔记(下)

    Python 学习笔记(下) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(下) 函数设计与使用 形参与实参 ...

  8. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  9. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

随机推荐

  1. vue.js实例对象+组件树

    vue的实例对象 首先用js的new关键字实例化一个vue el: vue组件或对象装载在页面的位置,可通过id或class或标签名 template: 装载的内容.HTML代码/包含指令或者其他组件 ...

  2. 【转】Linux设备驱动--块设备(一)之概念和框架

    原文地址:Linux设备驱动--块设备(一)之概念和框架 基本概念   块设备(blockdevice) --- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时 ...

  3. JAVA WEB 中涉及的编解码

    1.对URL解码 1)URI部分解码:<Connector URIEncoding="UTF-8" /> 2)QueryString解码要么是 Header 中 Con ...

  4. js面向对象知识点之对象属性 创建对象 总结中

    昨天面试出了一道面试题 本人我做错了 于是痛定思痛 再过一遍面向对象 var name="一体机"; var value="infolist"; //构造函数 ...

  5. javascript 之作用域-06

    作用域 作用域是指变量和函数可访问范围,他规定了如何查找变量,也就是确定当前执行代码对变量的访问权限. 作用域有两种工作模式: 静态作用域 :又称为词法作用域,在编译阶就可以决定变量的引用,由程序定义 ...

  6. LeetCode 1. Two Sum (两数之和)

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  7. Java--谈一谈代理

    一.代理概念    代理在我们日常生活经常听到这个名词,比如我们想看下google我们需要找个代理服务器来帮我们一下,比如我们想买一个外国的什么东西需要在代购网站或者找朋友帮忙在外国买一下,用概念一点 ...

  8. My Function Lib

    一直想有一个稳定的,持续增长的函数库,以备自己日常工作查询,使用.就从今天,这里开始,并坚持下去. 1.判断是否是ajax请求 //判断是否为 ajax 请求 public function isAj ...

  9. BabeLua常见问题

    BabeLua常见问题 来源: http://blog.csdn.net/babestudio/article/details/27228865 怎样升级BabeLua? https://babelu ...

  10. Problem X

    Problem Description Recently, iSea went to an ancient country. For such a long time, it was the most ...