如何在Python中向map函数传递多个参数?


map 函数是 Python 中的一个内置函数,它将给定的函数应用于可迭代对象(列表、元组等)中的每个元素,并返回一个包含结果的迭代器。我们也可以在 map 函数中使用多个参数。

语法

以下所有示例都使用此语法:

map(function, argument1, argument2,.....)

方法 1:使用 map 函数传递多个参数

示例

编写一个程序,使用 map 函数添加两个列表的元素。

def add(a,b):
   return a + b

# Create two lists
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8]

# Using map() function with two arguments
sum = map(add, list1, list2)
result = list(sum)
print("1st list = ",list1)
print("2nd list = ",list2)
print("After addition of both list elements Result is :",result)

输出

1st list =  [1, 3, 5, 7]
2nd list =  [2, 4, 6, 8]
After addition of both list elements Result is : [3, 7, 11, 15]

在这个代码中,定义了一个名为 add() 的函数,它返回两个数字相加的结果。然后,创建两个列表 list1 和 list2。map() 函数有两个参数:add 函数(作为第一个参数)和 list1 和 list2(作为第二个参数)。map() 函数将两个列表的值组合起来形成一个新的列表。这个新列表存储在 result 中。最后,打印 list1、list2 和将两个列表的值相加后的结果 result。

方法 2:使用 map 和 lambda 函数传递多个参数

示例 1

编写一个程序,使用 map 和 lambda 函数相减两个列表的元素。

# Create two lists
list1 = [3, 7, 11, 15]
list2 = [2, 4, 6, 8]

# Using map() & lambda function with two arguments
sub = map(lambda a, b: a - b, list1, list2)
result = list(sub)
print("1st list = ",list1)
print("2nd list = ",list2)
print("After subtraction from 1st list to 2nd list elements result is :",result)

输出

1st list =  [3, 7, 11, 15]
2nd list =  [2, 4, 6, 8]
After subtraction from 1st list to 2nd list elements result is : [1, 3, 5, 7]

在这个代码中,创建了两个名为 list1 和 list2 的列表。使用 map() 和 lambda 函数,从 list2 的值中减去 list1 的值,形成一个新列表。为此,将两个参数与 lambda 函数一起传递给 map() 函数,其中 list1 和 list2 分别由 lambda 函数的第一个和第二个参数构成。map() 函数用于创建一个新列表。这个新列表存储在 result 中。最后,打印 list1、list2 和两个列表的值相减的结果。

示例 2

在这个程序中,我们正在计算两个列表的乘积。

# Create two lists
list1 = [3, 8, 2, 5]
list2 = [2, 4, 6, 8]

# Using map() & lambda function with two arguments
multi = map(lambda a, b: a * b, list1, list2)
result = list(multi)
print("1st list = ",list1)
print("2nd list = ",list2)
print("After multiplication result is :",result)

输出

1st list =  [3, 8, 2, 5]
2nd list =  [2, 4, 6, 8]
After multiplication result is : [6, 32, 12, 40]

在这个代码中,创建了两个名为 list1 和 list2 的列表。使用 map() 和 lambda 函数,将 list1 的值乘以 list2 的值,形成一个新列表。为此,将两个参数与 lambda 函数一起传递给 map() 函数,其中 list1 和 list2 分别由 lambda 函数的第一个和第二个参数构成。map() 函数用于创建一个新列表。这个新列表存储在 result 中。最后,打印 list1、list2 和两个列表的值相乘的结果 result。

示例 3

在这个程序中,我们将三个列表组合成元组。

name = ["Ajay","Rohit","Vikas"]
id = ["DE12","DE13","DE14"]
marks = ["83%","92%","99%"]

res = map(lambda a, b, c: (a, b, c), name, id, marks)
result=list(res)
print(result)

输出

[('Ajay', 'DE12', '83%'), ('Rohit', 'DE13', '92%'), ('Vikas', 'DE14', '99%')]

在这个代码中,创建了三个名为 name、id 和 marks 的列表。使用 map() 和 lambda 函数,通过将 name、id 和 marks 的值连接成三元组来创建新的列表。为此,将三个参数与 lambda 函数一起传递给 map() 函数,其中 name、id 和 marks 分别由 lambda 函数的第一、第二和第三个参数构成。map() 函数用于创建一个新列表。这个新列表存储在 result 中。最后,打印新的列表 result,其中包含 name、id 和 marks 值的三元组。

结论

总之,Python 的 map() 函数使得操作可迭代对象,特别是列表成为可能。这在执行对数据进行复杂操作的同时,创建易于理解和简单的代码。

更新于:2023年9月29日

2K+ 浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告