• map reduce filter


    map   映射

    Map(映射)是一种可迭代的键值对(key/value)结构。

    所有的值都可以通过键来获取。

    Map 中的键都是唯一的。

    Map 也叫哈希表(Hash tables)。

    Map 有两种类型,可变与不可变,区别在于可变对象可以修改它,而不可变对象不可以。

    默认情况下 Scala 使用不可变 Map。如果你需要使用可变集合,你需要显式的引入 import scala.collection.mutable.

    例:

    # map
    names = ['alex', 'wupeiqi', 'yuanhao', 'kevin', 'hu老师']
    # 方式一:手动实现
    # new_names=[]
    # for name in names:
    # new_names.append(name+'dsb')
    # print(new_names)

    # 方式二:列表生成式
    new_names = [name + 'dsb' for name in names]
    # print(new_names)

    # 方式三:map+匿名函数
    res = map(lambda x: x + 'dsb', names)
    # print(res)
    # print(list(res))

    ****************************************************************************************************************************************************************************

    描述

    reduce() 函数会对参数序列中元素进行累积。

    函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    语法

    reduce() 函数语法:

    reduce(function, iterable[, initializer])

    参数

    • function -- 函数,有两个参数
    • iterable -- 可迭代对象
    • initializer -- 可选,初始参数

    返回值

    返回函数计算结果。


    *******************************************************
    from functools import reduce

    res=reduce( lambda x,y:x+y ,[i for i in range(100)],100)
    print(res)
    **************************************************************************************
    # reduce
    # 方式一:手动实现
    # res=0
    # for i in range(101):
    # res+=i
    # print(res)

    # 方式二:列表生成式
    # print(sum([i for i in range(101)]))

    # 方式三:reduce+匿名函数
    from functools import reduce
    # print(reduce(lambda x,y:x+y,[i for i in range(101)],100))
    # print(reduce(lambda x,y:x+y,[i for i in range(101)]))
    # print(reduce(lambda x,y:x+y,['h','e','l','l','o'],'----------'))

    ******************************************************************************************************************************************************************************

    描述

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

    注意: Pyhton2.7 返回列表,Python3.x 返回迭代器对象,具体内容可以查看:Python3 filter() 函数

    语法

    以下是 filter() 方法的语法:

    filter(function, iterable)

    参数

    • function -- 判断函数。
    • iterable -- 可迭代对象。

    返回值

    返回列表。


    # filter
    names=['alex_dsb','wxx_sb','kevin_sb','hu_sb','egon']
    # 方式一:手动实现
    new_names=[]
    for name in names:
    if name.endswith('sb'):
    new_names.append(name)
    print(new_names)

    # 方式二:列表生成式
    new_names=[name for name in names if name.endswith('sb')]
    print(new_names)

    # 方式三:filter+匿名函数
    res=filter(lambda name:name.endswith('sb'),names)
    print(res)

     

  • 相关阅读:
    使用Python Falsk-Mail 发送邮件
    Python反射
    Python类的特殊成员方法
    Python静态方法、类方法、属性方法
    Python面向对象三大特性(封装、继承、多态)
    Python之面向对象
    Python标准库之re模块
    Python标准库之logging模块
    Python标准库之subprocess模块
    Python标准库之hashlib模块与hmac模块
  • 原文地址:https://www.cnblogs.com/frank007/p/9766931.html
Copyright © 2020-2023  润新知