zoukankan      html  css  js  c++  java
  • Python基础-----Map函数

    1、若要实现对一个列表中每个元素的更改,如对一个数字列表,得到一个新的列表是原来列表每个元素的平方
    l = [1,3,5,7,9]
    def pingfang(x):
    return x**2
    def map_test(func,array):
    ret = []
    for i in array:
    ret.append(func(i))
    return ret
    print(map_test(pingfang,l))
    >>> [1,9,25,49,81]
    2、上例可以用lambda匿名函数取代执行元素的操作函数来处理
    def map_test(func, array):
    ret = []
    for i in array:
    ret.append(func(i))
    return ret
    print(map_test(lambda x:x**2, l))
    >>> [1,9,25,49,81]
    3、其实上述操作都可以用内置函数map来取代操作
    map函数的用法:
    map(func,iterable)
    内部运行即为将传入的iterable对象用for循环提取出来,用传入的第一个参数func函数来处理
    类似于上述2中我们自定义的map_test()函数,第一个参数是传入一个执行函数,第二个参数是个可迭代对象,最终返回值是
    迭代器,所以需要用list()等方法将其转换为列表等可迭代对象(在python2中直接map()返回的为一个列表)
    a.将列表的每个元素平方
    print(list(map(lambda x:x**2,[1,3,5,7,9])))
    >>> [1,9,25,49,81]
    b. 将字符串中每个字符转换为大写
    msg = 'abcdefg'
    print(list(map(lambda x:x.upper(),msg)))
    >>> ['A','B','C','D','E','F','G']
  • 相关阅读:
    Hadoop 2.5.1集群安装配置
    Hadoop 2.5.1编译
    CloudStack安装
    Swift安装
    频率分布折线图与总体密度曲线
    频率直方图(hist)
    分位数(quantile)
    茎叶图(stem)
    盒图(boxplot)
    R语言学习
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9741243.html
Copyright © 2011-2022 走看看