Basic Python : Map, Filter, Reduce, Zip

1-Map()

1.1 Syntax
#      fun : a function applying to the iterable object
# iterable : such as list, tuple, string and other iterable object map(fun, *iterable) # * token means that multi iterables is supported
1.2 Working

map() applying the given function to each item of the given iterable object.

map() returns an iterable object called "map object".

1.3 Examples
# eg 1
def addition(n):
return n + n numbers = (1, 2, 3, 4)
result = map(addition, numbers)
print(list(result))
>>>[2,4,6,8] # eg 2
numbers = (1, 2, 3, 4)
result = map(lambda x: x + x, numbers)
print(list(result))
>>>[2,4,6,8] # eg 3 - multi iterables
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6] result = map(lambda x, y: x + y, numbers1, numbers2)
print(list(result))
>>>[5,7,9]

2-Filter()

2.1 Syntax
#      fun : a function that tests if each element of the sequence true or not.
# sequence : who needs to be filtered, it can be sets, lists, tuples, or containers of any iterators. filter(fun, sequence)
2.2 Working

filter() applying the given function to each item of the given sequence object, and remain the eligible element.

filter() returns an iterator that is already filtered.

2.3 Examples
# eg 1
seq = [0, 1, 2, 3, 5, 8, 13] result = filter(lambda x: x % 2 == 0, seq)
print(list(result))
>>>[0, 2, 8]

3-Reduce()

3.1 Syntax
#      fun : a function applying to all elements of the sequence.
# sequence : who needs to be computered by itself, it can be sets, lists, tuples, or containers of any iterators. filter(fun, sequence)
3.2 Working
  1. At first step, first two elements of sequence are picked and the result is obtained.
  2. Next step is to apply the same function to the previously attained result and the number just succeeding the second element and the result is again stored.
  3. This process continues till no more elements are left in the container.
  4. The final returned result is returned and printed on console.
3.3 Examples
from functools import reduce

lis = [1, 3, 5, 6, 2] 

print (reduce(lambda a,b : a+b,lis))
print (reduce(lambda a,b : a if a > b else b,lis))
>>>17
>>>6

4-Zip()

4.1 Syntax
zip(*iterators)		# * token means that multi iterators is supported
4.2 Working

zip() returns a single iterator object, having mapped values from all the containers.

4.3 Examples
# 1. How to zip the iterators?
name = [ "Manjeet", "Nikhil", "Shambhavi", "Astha" ]
roll_no = [ 4, 1, 3, 2 ]
marks = [ 40, 50, 60, 70 ] mapped = list(zip(name, roll_no, marks))
print(mapped)
>>>[('Shambhavi', 3, 60), ('Astha', 2, 70),('Manjeet', 4, 40),('Nikhil', 1, 50)] # 2. How to unzip?
namz, roll_noz, marksz = zip(*mapped) # 3. How to traversal them?
players = [ "Sachin", "Sehwag", "Gambhir", "Dravid", "Raina" ]
scores = [100, 15, 17, 28, 43 ] for pl, sc in zip(players, scores):
print ("Player : %s Score : %d" %(pl, sc))
>>>
Player : Sachin Score : 100
Player : Sehwag Score : 15
Player : Gambhir Score : 17
Player : Dravid Score : 28
Player : Raina Score : 43

python常用函数进阶(2)之map,filter,reduce,zip的更多相关文章

  1. Python面试题之Python中的lambda map filter reduce zip

    当年龟叔想把上面列出来的这些都干掉.在 “All Things Pythonic: The fate of reduce() in Python 3000”这篇文章中,他给出了自己要移除lambda. ...

  2. Python中map,filter,reduce,zip的应用

    事例1: l=[('main', 'router_115.236.xx.xx', [{'abc': 1}, {'dfg': 1}]), ('main', 'router_183.61.xx.xx', ...

  3. python 内置函数 map filter reduce lambda

    map(函数名,可遍历迭代的对象) # 列组元素全加 10 # map(需要做什么的函数,遍历迭代对象)函数 map()遍历序列得到一个列表,列表的序号和个数和原来一样 l = [2,3,4,5,6, ...

  4. 【转】Python之函数进阶

    [转]Python之函数进阶 本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函 ...

  5. Python常用函数记录

    Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...

  6. python 常用函数、内置函数清单

    文章内容摘自:http://www.cnblogs.com/vamei 1.type() 查询变量的类型 例: >>> a = 10>>> print a10> ...

  7. 数组的高阶方法map filter reduce的使用

    数组中常用的高阶方法: foreach    map    filter    reduce    some    every 在这些方法中都是对数组中每一个元素进行遍历操作,只有foreach是没有 ...

  8. 如何在python3.3用 map filter reduce

    在3.3里,如果直接使用map(), filter(), reduce(), 会出现 >>> def f(x): return x % 2 != 0 and x % 3 != 0  ...

  9. Swift map filter reduce 使用指南

    转载:https://useyourloaf.com/blog/swift-guide-to-map-filter-reduce/ Using map, filter or reduce to ope ...

随机推荐

  1. kafka 0.11.0.3 源码编译

    首先下载 kafka 0.11.0.3 版本 源码: http://mirrors.hust.edu.cn/apache/kafka/0.11.0.3/ 下载源码 首先安装 gradle,不再说明 1 ...

  2. 09 audio和vedio标签

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  3. 搭建Elk集群搭建 ES-filebeat-logstrash-kibana

    一 .基础环境 软件 版本 作用 Linux/Win Server2012 CentOs/Win Server2012 服务器环境 JDK 1.8.0_151 运行环境依赖 Elasticsearch ...

  4. ASP.NET Core MVC 之路由(Routing)

     ASP.NET Core MVC 路由是建立在ASP.NET Core 路由的,一项强大的URL映射组件,它可以构建具有理解和搜索网址的应用程序.这使得我们可以自定义应用程序的URL命名形式,使得它 ...

  5. Java:synchronized关键字引出的多种锁

    前言 Java 中的 synchronized关键字可以在多线程环境下用来作为线程安全的同步锁.本文不讨论 synchronized 的具体使用,而是研究下synchronized底层的锁机制,以及这 ...

  6. Fire! UVA - 11624 (两步bfs)

    题目链接 题意 人要从迷宫走出去,火会向四个方向同时扩散 分析 两步bfs,先出火到达各地时的时间(设初始时间为0,人每走一步为1s,在着一步内火可以向四周可触及的方向同时扩散),然后在bfs人,人能 ...

  7. DFS(一):深度优先搜索的基本思想

    采用搜索算法解决问题时,需要构造一个表明状态特征和不同状态之间关系的数据结构,这种数据结构称为结点.不同的问题需要用不同的数据结构描述. 根据搜索问题所给定的条件,从一个结点出发,可以生成一个或多个新 ...

  8. try catch finally 用法 今天闲来没事就总结下

    try { 执行的代码,其中可能有异常.一旦发现异常,则立即跳到catch执行.否则不会执行catch里面的内容 } catch { 除非try里面执行代码发生了异常,否则这里的代码不会执行 } fi ...

  9. web前端css(一)

    一  css的引入方式: 1)    行内样式:     <p style=”color: green”>我是一个段落</p> 2)    内接样式: <style ty ...

  10. pdfminer获取整页文本

    #! python2 # coding: utf-8 import sys from cStringIO import StringIO from pdfminer import pdfinterp ...