Python map filter reduce enumerate zip 的用法
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,filter的func都需要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 的用法的更多相关文章
- Python map,filter,reduce函数
# -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...
- python map() filter() reduce()函数的用法以及实例
map() 看一下我的终端咋说: map()的函数用法: map(function, iterable, ...) 看一下具体例子: 注意的是一定要强制转化一下才能输出 也可以写匿名函数: (mark ...
- python map filter reduce的优化使用
这篇讲下python中map.filter.reduce三个内置函数的使用方式,以及优化方法. map()函数 map()函数会根据提供的函数对指定序列做映射. 语法: map(function,it ...
- python常用函数进阶(2)之map,filter,reduce,zip
Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterab ...
- python 内置函数 map filter reduce lambda
map(函数名,可遍历迭代的对象) # 列组元素全加 10 # map(需要做什么的函数,遍历迭代对象)函数 map()遍历序列得到一个列表,列表的序号和个数和原来一样 l = [2,3,4,5,6, ...
- 数组的高阶方法map filter reduce的使用
数组中常用的高阶方法: foreach map filter reduce some every 在这些方法中都是对数组中每一个元素进行遍历操作,只有foreach是没有 ...
- 如何在python3.3用 map filter reduce
在3.3里,如果直接使用map(), filter(), reduce(), 会出现 >>> def f(x): return x % 2 != 0 and x % 3 != 0 ...
- Swift map filter reduce 使用指南
转载:https://useyourloaf.com/blog/swift-guide-to-map-filter-reduce/ Using map, filter or reduce to ope ...
- Python中filter、map、reduce、lambda 的用法
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(ite ...
随机推荐
- HDU 4893 2014多校三 线段树
给定一个初始都为0的序列,有三种操作,前两种比较正常,一个是对某个位置的数add k,另一个是query区间和.然后比较麻烦的是第三个操作,把某个区间里面的每个值改成离它最近的Fibonacci数,如 ...
- torch.utils.data.DataLoader 将数据按批次分成很多组,每次抛出一个小组
torch.utils.data.DataLoader 数据加载器,结合了数据集和取样器在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据.直至把所有的数据都抛出.就是做一个 ...
- [BJDCTF2020]The mystery of ip
0x00 知识点 SSTI模板注入: 之前也写过: https://www.cnblogs.com/wangtanzhi/p/12238779.html SSTI模板注入: 模板注入涉及的是服务端We ...
- 为什么vue中的data用return返回
1.为什么在项目中data需要使用return返回数据呢? 不使用return包裹的数据会在项目的全局可见,会造成变量污染:使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件. 当一 ...
- UVA - 1615 Highway(高速公路)(贪心+区间选点)
题意:给定平面上n(n<=105)个点和一个值D,要求在x轴上选出尽量少的点,使得对于给定的每个点,都有一个选出的点离它的欧几里德距离不超过D. 分析: 1.根据D可以算出每个点在x轴上的可选区 ...
- VS Code使用.vue的v-for方法提示错误的解决办法
1.在使用v-for的时候在后面跟上:key="key" <div v-for="(value, key) in [1,2,3]" :key=" ...
- 安装Linux系统Centos6版本
1.下载VMware软件 2.下载Centos6文件 http://archive.kernel.org/centos-vault/6.8/isos/x86_64/CentOS-6.8-x86_64- ...
- x++ 与 ++x的区别
相信在很多编程语言中都会遇见这个问题,这对于刚入编程的人来说可能是相当懵逼了. 老师的官方说法是:操作符在前面先进行自身运算,再进行其他运算:操作符在后面,先进行其他运算再进行自身运算. 反正我这段话 ...
- 《新标准C++程序设计》1.7-1.10(C++学习笔记2)
1.内联函数(inline关键字) eg.inline int Max(int a,int b) { if(a>b) return a; return b; } 当编译器处理调用内联函数的语句时 ...
- poj_3461 KMP算法解析
A - Oulipo Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...