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']
  • 相关阅读:

    2018.10.18 常用API部分测试题
    2018.10.18课堂笔记HashMap之前
    JavaScript 的 this 原理
    vue h5转换uni-app
    Vue.js 3.0 新特性预览
    ES6模块与CommonJS的区别
    同源策略和跨域问题
    一口气了解 babel
    媒体查询,移动端常见布局以及其他
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9741243.html
Copyright © 2011-2022 走看看