map

map(func, list)list中的数字,一个一个运用到func中,常和lambda一起用。

nums = [1, 2, 3, 4, 5]
[*map(lambda x: x**2, nums)]

输出:

[1, 4, 9, 16, 25]

这里有个比较骚的用法

func_list = [ func1, func2, func3, func4] #func1...是事先定义好的函数
for i in range(1,10):
v=map(lambda x: x(i), func_list)
print(v)

v输出是有4个值的列表,每个值都是把当前 i 运用到func_list的结果。

filter

filter(func, list)和map有点像,只不过func的输出结果是布尔类型,并且把是True的筛选出来。下面代码是筛选出1-14之间的偶数:

nums = range(1,15)
list(filter(lambda x: x%2==0, nums))

输出是:

[2, 4, 6, 8, 10, 12, 14]

reduce

reduce(func, list) 参数和签名的map, filter类似,但是是不同的有以下三点:

  • 取数方法,func接收2个参数。map, filterfunc都需要1个参数。
  • reduce第一次是取2个参数。map, filter都是从list中一次取一个
  • reduce需要从functools导入

reduce的运行方式是这样:

  • 第一次:取list中的前两个数字,输入到func中,结果保存
  • 第二次:把保存的结果、第三个数,输入到func中,结果保存
  • 第三次:保存的结果、第四个数输入到func中。直到没有可以取的数字。

示例

比如求,2,3,4,5连乘的结果,如果用for:

nums = [2, 3, 4, 5]
pro = 1
for i in nums:
pro = pro * i
print(pro)

用reduce则:

from functools import reduce
nums = [2, 3, 4, 5]
reduce(lambda x,y:x*y, nums)

两个的结果都是:120

enumerate

enumerate(iter, start=0) 中的iter是可迭代的序列,比如list, tuple,str等。生成的是惰性对象。可用于迭代和格式化输出。

seasons=['春天','夏天','秋天','冬天']
[*enumerate(seasons)]

输出:

[(0, '春天'), (1, '夏天'), (2, '秋天'), (3, '冬天')]

zip

zip()的参数是可迭代的对象,比如list, str等等。输出的结果是zip对象,可以用{*zip_obj}来解。作用是**把参数中的元素,一一对应成tuple。

names = ['小明', '小红', '小强', '小李']
stu_num = [1,2,3,4]
score =[96,90,60, 82]
z1=zip(names, stu_num, score)
print({*z1})

输出是:

{('小明', 1, 96), ('小红', 2, 90), ('小强', 3, 60), ('小李', 4, 82)}

Python map filter reduce enumerate zip 的用法的更多相关文章

  1. Python map,filter,reduce函数

    # -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...

  2. python map() filter() reduce()函数的用法以及实例

    map() 看一下我的终端咋说: map()的函数用法: map(function, iterable, ...) 看一下具体例子: 注意的是一定要强制转化一下才能输出 也可以写匿名函数: (mark ...

  3. python map filter reduce的优化使用

    这篇讲下python中map.filter.reduce三个内置函数的使用方式,以及优化方法. map()函数 map()函数会根据提供的函数对指定序列做映射. 语法: map(function,it ...

  4. python常用函数进阶(2)之map,filter,reduce,zip

    Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...

  5. python 内置函数 map filter reduce lambda

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

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

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

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

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

  8. Swift map filter reduce 使用指南

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

  9. Python中filter、map、reduce、lambda 的用法

    Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(ite ...

随机推荐

  1. 吴裕雄--天生自然C++语言学习笔记:C++ 接口(抽象类)

    接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类中至少有一个函数被声明为纯虚 ...

  2. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-bold

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  3. log4j的配置学习

    我的 log4j.properties: # Set root category priority to INFO and its only appender to CONSOLE. #log4j.r ...

  4. 编程入门-Java开发工具介绍及Eclipse安装

    编程入门-Java开发工具介绍及Eclipse安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java开发工具介绍 "源代码"一般是文字,所以可以使用记 ...

  5. 三十一、CI框架之使用验证码

    一.CI的验证码功能用着很是舒服,需要在根目录下新建一个captcha的验证码文件夹用于存放生产的图片,代码如下: 二.浏览器效果如下: 总结:关于验证码生产函数,有很多参数可以设置,包括字体,验证码 ...

  6. 2020/1/31 PHP代码审计之文件包含漏洞

    0x00 文件包含简介 文件包含漏洞的产生原因是在通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校检,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意 ...

  7. Bootstrap-按钮篇btn

    参考网址:http://v3.bootcss.com/(能抄不写) 1.按钮颜色样式: 对应代码:(主要体现在class内容:btn-default,btn-primary...) <butto ...

  8. Git--rebase合并提交

    参考 https://blog.csdn.net/hj7jay/article/details/78809547 https://blog.csdn.net/yangcs2009/article/de ...

  9. maven工具引入lib下的jar文件

    <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  10. sed使用案例

    简介: sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 ...