Python的map函数如何应用于列表元素转换?
- 内容介绍
- 文章标签
- 相关推荐
本文共计552个文字,预计阅读时间需要3分钟。
在Python 3中,`map()`是一个内置函数,实际上是对`map`类的实例化过程。调用`map()`函数时,实际上是在实例化`map`类。`map`函数接收两个参数:一个是函数`func`,另一个是可迭代对象。`func`参数通常是一个函数,但注意这里指的是函数对象本身,而不是函数调用。
例如:pythonnumbers=[1, 2, 3, 4, 5]squared_numbers=map(lambda x: x**2, numbers)在这个例子中,`map`函数创建了一个`map`对象,该对象将`numbers`列表中的每个元素传递给`lambda x: x**2`函数,并返回一个迭代器。
从源码中可以看到,`map`函数的内部实现如下:pythondef map(func, iterable): return map_class(func, iterable)这里,`map_class`是`map`函数实际调用的类,它接收函数`func`和可迭代对象`iterable`作为参数。
总结:- `map()`在Python 3中是`map`类的实例化。- `map()`函数有两个参数:一个函数对象`func`和一个可迭代对象`iterable`。- `func`参数是函数对象,而不是函数调用。
语法
在python3中,map是一个内置类,调用map()函数实际上是实例化map类的过程(这一点可以看出,内置类的类名可以小写)
从源码中看,map函数有两个参数,一个是函数func(注意不是函数调用func()),另一个是可迭代的参数,*表示可以有任意多个可迭代参数
作用
使用可迭代对象中的每一个元素作为参数调用func函数,返回一个迭代器
返回值
在python3中,map()返回一个迭代器
例子
import sysdef sq(x):
return x ** 2
it = map(sq, [1, 2, 3, 4, 5])
while True:
try:
print(next(it), end=" ")
except StopIteration:
sys.exit()
# 运行结果
1 4 9 16 25
在map中使用lambda匿名函数
it = map(lambda x: x ** 2, [1, 2, 3, 4, 5])for i in it:
print(i, end=" ")
# 运行结果
1 4 9 16 25
参考文章
《Python map() 函数》
本文共计552个文字,预计阅读时间需要3分钟。
在Python 3中,`map()`是一个内置函数,实际上是对`map`类的实例化过程。调用`map()`函数时,实际上是在实例化`map`类。`map`函数接收两个参数:一个是函数`func`,另一个是可迭代对象。`func`参数通常是一个函数,但注意这里指的是函数对象本身,而不是函数调用。
例如:pythonnumbers=[1, 2, 3, 4, 5]squared_numbers=map(lambda x: x**2, numbers)在这个例子中,`map`函数创建了一个`map`对象,该对象将`numbers`列表中的每个元素传递给`lambda x: x**2`函数,并返回一个迭代器。
从源码中可以看到,`map`函数的内部实现如下:pythondef map(func, iterable): return map_class(func, iterable)这里,`map_class`是`map`函数实际调用的类,它接收函数`func`和可迭代对象`iterable`作为参数。
总结:- `map()`在Python 3中是`map`类的实例化。- `map()`函数有两个参数:一个函数对象`func`和一个可迭代对象`iterable`。- `func`参数是函数对象,而不是函数调用。
语法
在python3中,map是一个内置类,调用map()函数实际上是实例化map类的过程(这一点可以看出,内置类的类名可以小写)
从源码中看,map函数有两个参数,一个是函数func(注意不是函数调用func()),另一个是可迭代的参数,*表示可以有任意多个可迭代参数
作用
使用可迭代对象中的每一个元素作为参数调用func函数,返回一个迭代器
返回值
在python3中,map()返回一个迭代器
例子
import sysdef sq(x):
return x ** 2
it = map(sq, [1, 2, 3, 4, 5])
while True:
try:
print(next(it), end=" ")
except StopIteration:
sys.exit()
# 运行结果
1 4 9 16 25
在map中使用lambda匿名函数
it = map(lambda x: x ** 2, [1, 2, 3, 4, 5])for i in it:
print(i, end=" ")
# 运行结果
1 4 9 16 25
参考文章
《Python map() 函数》

