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


__EOF__

本文作者LH0722
本文链接https://www.cnblogs.com/ludx/p/15803256.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LH0722  阅读(690)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示