📜  Python map函数

📅  最后修改于: 2020-07-15 08:30:35             🧑  作者: Mango

将给定函数应用于给定可迭代项的每个项目(列表,元组等)后,map()函数返回结果的映射对象(为迭代器)

句法 :

map(fun, iter)

参数:

fun:映射将给定可迭代的每个元素传递到的函数。
iter:它是一个可迭代的对象。

注意:您可以将一个或多个可迭代传递给map()函数。

 

返回值:

将给定函数应用于给定可迭代项的每个项目(列表,元组等)后,返回结果列表。

 

注意:然后,可以将map()(地图对象)的返回值传递给list()(创建列表),set()(创建集合)之类的函数。
 
代码1

# Python程序演示地图的工作. 
  
# 返回n的两倍 
def addition(n): 
    return n + n 
  
# 我们使用map()将所有数字加倍
numbers = (1, 2, 3, 4) 
result = map(addition, numbers) 
print(list(result)) 

输出:

[2,4,6,8]

 

代码2
我们还可以将lambda表达式与map一起使用以实现上述结果。 

# 使用map和lambda将所有数字加倍 
  
numbers = (1, 2, 3, 4) 
result = map(lambda x: x + x, numbers) 
print(list(result)) 

输出: 

[2,4,6,8]

代码3 

# 使用map和lambda添加两个列表 
  
numbers1 = [1, 2, 3] 
numbers2 = [4, 5, 6] 
  
result = map(lambda x, y: x + y, numbers1, numbers2) 
print(list(result)) 

输出: 

[5、7、9]

代码4 

# 字符串清单 
l = ['sat', 'bat', 'cat', 'mat'] 
  
# map()可以单独列出字符串列表 
test = list(map(list, l)) 
print(test) 

输出: 

[['s,'a','t'],['b','a','t'],['c','a','t'],['m','a ','t']]