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. 实验吧-密码学-Fair-Play(Playfair解密)

    这个题是Playfair解密. Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文. 对密文解密规则如下 ...

  2. 吴裕雄--天生自然C++语言学习笔记:C++ 异常处理

    异常是程序在执行期间产生的问题.C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作. 异常提供了一种转移程序控制权的方式.C++ 异常处理涉及到三个关键字:try.catch.throw ...

  3. Python 删除文件与文件夹

    版权所有,未经许可,禁止转载 章节 Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(Str ...

  4. java基础源码 (1)--String类

    这个是String类上面的注释,我用谷歌翻译翻译的,虽然有点语法上的问题,但是大概都可以翻译出来 /** * The {@code String} class represents character ...

  5. POJ 3615 Cow Hurdles(最短路径flyod)

    Cow Hurdles Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9337   Accepted: 4058 Descr ...

  6. 第十八篇 admin组件

    admin组件 admin组件使用 admin源码解析 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以 ...

  7. EUI库 - 自动布局

      自适应流式布局 width="100%" top left right horizontalCenter=0 失效验证机制 这些异步过程都封装好了,我们只需要关注那一对方法:  ...

  8. 洛谷 P1470 最长前缀 Longest Prefix

    题目传送门 解题思路: 其实思路没那么难,就是题面不好理解,解释一下题面吧. 就是在下面的字符串中找一个子串,使其以某种方式被分解后,每部分都是上面所给集合中的元素. AC代码: #include&l ...

  9. css ~ a标签占满父级元素

    width: 100%; height: 100%; display: block;

  10. node —— 静态资源文件管理

    var http = require("http"); var url = require("url"); var fs = require("fs& ...