|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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))
复制代码 |
|