Python map() 函数使用详解

背景

在讲解map函数之前,我们先做个简答的算法?
题目是这样:
求出1+2,+3+4...+100的和,大家想想用什么办法可以解决?
我想到了三种方法,大家还有其他更好方法吗?请留言一起学习、沟通
 

方法一:

1 print(sum([i for i in range(1, 101)]))
2 执行结果:
3 5050

方法二:

def nums_add():
    global sum_nums
    sum_nums = 0
    for i in range(1, 101):
        sum_nums +=i
    return sum_nums
print(nums_add())
执行结果:
5050

方法三:

result = reduce(lambda x, y: x + y, [i for i in range(1, 101)])
print(result)
执行结果:
5050

描述

map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,若是python2.x则最后返回的是一个列表,若是python3.x则最后返回的是一个迭代器。
 

语法

map(function, iterable, ...)

参数

  • function -- 函数
  • iterable -- 一个或多个可迭代对象

返回值

Python 2.x 返回列表。
Python 3.x map对象(其实这里就是一个迭代器)

实例

我们简单举几个例子
  • 给列表[1,2,3,4]中的每一个元素乘以2,后返回一个新列表
print(list(map(lambda x: x * 2, [1, 2, 3, 4])))
执行结果:
[2, 4, 6, 8]
  • 在1~100中间随机生成整数,然后将这个整数加1
    import random
    
    def demo(num: int):
        return num + 1
    
    result = list(map(demo,[random.randint(1,100)]))
    print(result) 

 转载至:https://mp.weixin.qq.com/s/G0RWcFtm5QPSUK44rGgE3A

posted @ 2022-01-14 19:12  LH0722  阅读(647)  评论(0编辑  收藏  举报