鱼C论坛

 找回密码
 立即注册
查看: 1738|回复: 3

[技术交流] Python map() 函数

[复制链接]
发表于 2020-3-16 15:12:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一个账号 于 2020-3-28 12:27 编辑

Python map() 函数


语法
map(func, *iterables) -> map object

参数

参数描述
func函数
iterable一个或多个序列


描述

map() 会根据提供的函数对指定序列做映射。

第一个参数 function() 以参数序列中的每一个元素调用 function() 函数,返回包含每次 function() 函数返回值的新列表。

返回值

返回一个 map 对象。

例子
>>> def factorial(num):
        if num == 1:
                return 1
        else:
                return num * factorial(num-1)

        
>>> factorial(3)
6
>>> factorial(4)
24
>>> map(factorial, [1, 2, 3, 4, 5, 6, 7, 8])
<map object at 0x000001A1735AEB80>
>>> list(map(factorial, [1, 2, 3, 4, 5, 6, 7, 8]))
[1, 2, 6, 24, 120, 720, 5040, 40320]
>>> tuple(map(factorial, [1, 2, 3, 4, 5, 6, 7, 8]))
(1, 2, 6, 24, 120, 720, 5040, 40320)
>>> for i in map(factorial, [1, 2, 3, 4, 5, 6, 7, 8]):
        print(i)

        
1
2
6
24
120
720
5040
40320
>>> map(lambda x : x ** 3, [i for i in range(10)])
<map object at 0x000001A1735AEAF0>
>>> tuple(map(lambda x : x ** 3, [i for i in range(10)]))
(0, 1, 8, 27, 64, 125, 216, 343, 512, 729)
>>> map(list, zip([1, 2, 3], [4, 5, 6]))
<map object at 0x000001A1735AEAF0>
>>> map(lambda x, y : x+y, range(5), range(5))
<map object at 0x0000019CB88CBDC0>
>>> tuple(map(lambda x, y : x+y, range(5), range(5)))
(0, 2, 4, 6, 8)
>>> tuple(map(lambda x, y, z : x-y+z, range(2), range(3), range(6)))
(0, 1)
>>> tuple(map(lambda x, y, z : x-y+z, range(4), range(3), range(6)))
(0, 1, 2)
>>> list((1, 2, 3))
[1, 2, 3]
>>> tuple(map(list, zip([1, 2, 3], [4, 5, 6])))   # 将元组里面的元组转为列表
([1, 4], [2, 5], [3, 6])
>>> tuple(zip([1, 2, 3], [4, 5, 6]))
((1, 4), (2, 5), (3, 6))

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-16 17:45:48 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-27 21:25 编辑

一种可能的实现

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
一个账号 + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 10:28:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-30 10:31:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 08:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表