首页 > 其他分享 >lambda,map,filter

lambda,map,filter

时间:2023-11-02 23:55:06浏览次数:34  
标签:map 函数 迭代 元素 filter lambda

1. Lambda

Lambda函数是一种匿名函数,它可以在一行内定义,并通常用于需要简单函数的地方。Lambda函数使用lambda关键字后跟参数列表和冒号,然后在冒号后面定义函数的主体。例如:

add = lambda x, y: x + y
print(add(2, 3))  # 输出5

Lambda函数通常用于传递给高阶函数(如map、filter和sorted等)或在需要短期使用的小函数的地方。但需要注意,它们通常不应该用于复杂的函数,因为可读性可能会受到影响。在这种情况下,通常更好的做法是定义一个常规的命名函数。

  • 例:map
>>> mapped = map(lambda x : ord(x)+10 , "FishC")
>>> list(mapped)
[80, 115, 125, 114, 77]
  • 例:filter
>>>list(filter(lambda x : x % 2 , range(10)))
[1, 3, 5, 7, 9]

2. map与filter

map(function, iterable, ...)
filter(function, iterable)
  • mapfunction是要应用于每个元素的函数。filterfunction是一个用于定义筛选条件的函数。这个函数应该返回一个布尔值,即 True 或 False,用于指示是否保留可迭代对象中的元素。
  • iterable是要迭代的可迭代对象,如列表、元组等

filter()和map()都是Python中的内置函数,用于处理可迭代对象,但它们的主要目的和用法不同。以下是它们之间的主要异同点:

相同点:

两者都可以接受一个函数和一个可迭代对象(如列表、元组等)作为参数。
两者都返回一个迭代器,其中包含经过函数处理的元素。

不同点:

map()函数的目的是将一个函数应用于可迭代对象中的每个元素,并返回一个包含所有结果的迭代器。它不会改变元素的数量,只是将每个元素映射到另一个值上。例如,你可以使用map()来将一个列表中的所有元素加倍,而结果将与原始列表具有相同的长度。

filter()函数的目的是从可迭代对象中筛选出满足特定条件的元素,并返回一个包含这些元素的迭代器。它可以减少可迭代对象的长度,因为只有满足条件的元素会被保留下来。例如,你可以使用filter()来从列表中筛选出所有的偶数,结果将是一个包含满足条件的元素的较短的迭代器。

总之,map()用于对可迭代对象的每个元素应用函数,而filter()用于筛选出可迭代对象中满足特定条件的元素。它们在处理数据时具有不同的目的和用途。

标签:map,函数,迭代,元素,filter,lambda
From: https://www.cnblogs.com/ratillase/p/17806709.html

相关文章

  • Guava中的增强Map - Table、BiMap、Multimap、RangeMap、ClassToInstanceMap
    1.简介  日常开发中使用Map时经常会遇到很多复杂的处理场景,例如:多个键的Map、不仅可以根据键获取值也可以根据值获取键且不用遍历、重复键的Map、数字等范围内映射相同的值、内存中缓存对象等,Guava提供了以上场景的解决方案。场景解决方案具体实现多个键的MapTabl......
  • map知识点总结
    map是STL的一个关联容器,它提供一对一的hash(哈希表)第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部......
  • HashMap的长度是2的幂次方
    为了能让HashMap存取高效,尽量减少碰撞,也就是要尽量把数据分配均匀。Hash值的范围值-2147483648到2147483647,前后加起来大概40亿的映射长度,只要哈希函数映射的比较均匀松散,一般应用是很难出现碰撞的。但问题是一个40亿长度的数组,内存是放不下的。所以这个散列值是不能直接拿来用的。......
  • tsne、umap可视化简单例子
    importnumpyasnpfromsklearn.manifoldimportTSNEfromsklearn.decompositionimportPCAimportmatplotlib.pyplotaspltimportumapimporttorchX=torch.load('embeddings.pt')#(19783,16)y=np.load('labels.npy')#reduced_x=......
  • ASP.NET Core Filter
    Filter在ASP.NETCore中允许code在指定的请求阶段前或者后执行。Filter在ASP.NETCore方法请求管道中运行,有时被称作filterpipeline,filterpipeline在ASP.NETCore选择Action执行。 Filter分类每个filtertype在filterpipeline的不同阶段执行。AuthorizationFilter:第一......
  • .NET6 配置 AutoMapper 与 AutoFac
    AutoMapper 概述1、什么是AutoMapper简单来说,AutoMapper就是一个用C#语言开发的一个轻量的处理一个实体对象到另外一个实体对象映射关系的组件库 官网地址:AutoMapper 文档地址:AutoMapper—AutoMapperdocumentation 2、为什么要用AutoMapper层与层之间的数据转换......
  • TreeMap
    TreeMap是Map家族中的一员,也是用来存放key-value键值对的。平时在工作中使用的可能并不多,它最大的特点是遍历时是有顺序的,根据key的排序规则来TreeMap是一个双列集合,是Map的子类。底层由红黑树结构构成。TreeMap是一个基于key有序的keyvalue散列表。map根据其键的自然顺序排......
  • minimap2安装使用
    官网:https://github.com/lh3/minimap2https://github.com/lh3/minimap2/releases/tag/v2.17 Downloadandinstall:wgethttps://github.com/lh3/minimap2/releases/download/v2.17/minimap2-2.17_x64-linux.tar.bz2tar-jxvfminimap2-2.17_x64-linux.tar.bz2cdminimap2-2.17......
  • javaweb--resultMap
    resultMap可以灵活的实现数据库列名和java类中的属性名的映射 1、定义<resultMap>标签2、在<select>标签中,使用resultMap属性替换resultType属性 ......
  • .NET6 使用AutoMapper
    .NET6使用AutoMapper 一、Net6环境下的.netcore项目里如何使用AutoMapper实现依赖注入。注:AutoMapper是一个对象-对象映射器,可以将一个对象映射到另一个对象。第一步,在Nuget引入AutoMapper、AutoMapper.Extensions.DependencyInjection这两个NuGet包  ......