1 map()函数的简介以及语法:
map是python内置函数,会根据提供的函数对指定的序列做映射。
map()函数的格式是:
map(function,iterable,...)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。
把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
## 列表[1,2,3,4,5,6,7,8,9],返回一个n*n 的列表
#常用方法
li_map = [1,2,3,4,5]
for index,value in enumerate(li_map ):
li_map [index] = value * value
print(li_map)
结果 [1, 4, 9, 16, 25]
# 高级方法
li_map = [1,2,3,4,5]
print(list(map(lambda x:x*x,li_map )))
# [1, 4, 9, 16, 25,]
传入多个参数
#一般方法
def test(x,y):
return x**y
list(map(test, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
#转成匿名函数
result = list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
print(result)
结果:[3, 7, 11, 15, 19]
通过map实现类型转换
将元组转换为list:
result = list(map(int,(1,2,3)))
print(result)
结果 [1, 2, 3]
将字符串转换为list
result = list(map(int,'1234'))
print(result)
结果 [1, 2, 3, 4]
提取字典中的key,并将结果放在一个列表中
result = list(map(int, {1: 2, 2: 3, 3: 4}))
print(result)
结果 [1, 2, 3]