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. 玩转java多线程(wait和notifyAll的正确使用姿势)

    转载请标明博客的地址 本人博客和github账号,如果对你有帮助请在本人github项目AioSocket上点个star,激励作者对社区贡献 个人博客:https://www.cnblogs.com/ ...

  2. 写在Logg SAP项目上线之际

    根据大环境大行业的惯用做法,公司建立Logg品牌是在意料之中.毫无意外的,Logg也要上到SAP系统中. 其实按它的业务模式来说上SAP系统并不困难,早在几年前就已经有做过了.无非就是接单不生产,外包 ...

  3. spring 5.x 系列第9篇 —— 整合mongodb (xml配置方式)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.说明 1.1 项目结构说明 配置文件位于resources下,项目以单 ...

  4. valet环境PHPstorm+xdebug调试

    1.安装xdebug 2.配置xdebug zend_extension="/usr/local/Cellar/php@7.2/7.2.18/pecl/20170718/xdebug.so& ...

  5. html更改弹窗样式(原创,转载需声明)

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  6. H5离线缓存基础系列

    1.什么是离线缓存 离线缓存:离线缓存可以将站点的一些文件缓存到本地,它是浏览器自己的一种机制,将需要的文件缓存下来,以便后期即使没有连接网络,被缓存的页面也可以展示. 2.离线缓存的优势 在没有网络 ...

  7. Python将pyc转为py

    安装pip install uncompyle2, 使用uncompyle2 xxx.pyc > xxx.py

  8. Atlassian In Action-Jira之指导思想(一)

    太上,不知有之:其次,亲而誉之:其次,畏之:其次,侮之.信不足焉,有不信焉.悠兮,其贵言.功成事遂,百姓皆谓"我自然". --<道德经> 研发管理或者系统工具的指导思想 ...

  9. HDU 4283:You Are the One(区间DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=4283 题意:有n个数字,不操作的情况下从左到右按顺序输出,但是可以先让前面的数字进栈,让后面的数字输出,然后栈里 ...

  10. Docker学习第二天-容器

    Docker 容器 容器是 Docker 又一核心概念. 简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境.对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环 ...