Python 之 map()
map(f, list) : 对 列表 list 中的每一个项 调用方法 f, “地毯式调用”
在 help 中的描述如下
Help on class map in module builtins:
class map(object)
| map(func, *iterables) --> map object
|
| Make an iterator that computes the function using arguments from
| each of the iterables. Stops when the shortest iterable is exhausted.
|
| Methods defined here:
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __iter__(self, /)
| Implement iter(self).
|
| __next__(self, /)
| Implement next(self).
|
| __reduce__(...)
| Return state information for pickling.
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
这里要注意,
map() 的返回结果并不是一个列表, 而是一个 map 对象,
所以要再次调用方法 list() 将 map() 的返回结果转为一个列表
测试代码如下:
arr = ['3', '5', '7', '9', '12', '15', '18',
'32', '66', '78', '94', '103', '269']
print(f"map(int, arr) = {map(int, arr)}")
print(f"list(map(int, arr)) = {list(map(int, arr))}")
输出结果如下:
map(int, arr) = <map object at 0x000001729B05F400>
list(map(int, arr)) = [3, 5, 7, 9, 12, 15, 18, 32, 66, 78, 94, 103, 269]