如何在 Python 中将多个参数传递给 map 函数?
map 函数是 Python 中的内置函数,它将给定函数应用于可迭代对象(列表、元组等)中的每个元素,并返回列表中结果的迭代器。我们还可以在 map 函数中使用多个参数。
语法
此语法用于以下所有示例 -
map(function,argument1,argument2,.....)
方法 1:使用 map 函数的多个参数
示例
编写一个程序,借助 map 函数添加两个列表元素。
def add(a,b):
return a + b
# 创建两个列表
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8]
# 使用带有两个参数的 map() 函数
sum = map(add, list1, list2)
result = list(sum)
print("第一个列表 = ",list1)
print("第二个列表 = ",list2)
print("添加两个列表元素后结果为 :",result)
输出
第一个列表 = [1, 3, 5, 7] 第二个列表 = [2, 4, 6, 8] 添加两个列表元素后结果为 : [3, 7, 11, 15]
在此代码中,定义了一个名为 add() 的函数,该函数返回两个数字相加的结果。然后,创建两个列表 list1 和 list2。 map() 函数带有两个参数,第一个参数传递给 add 函数,第二个参数传递给 list1 和 list2。map() 函数将两个列表的值连接起来,形成一个新列表。这个新列表存储在结果中。最后打印出list1、list2,以及将两个列表的值相加后的结果。
方法2:使用map & Lambda函数的多个参数
示例1
编写一个程序,使用map和lambda函数减去两个列表元素。
# 创建两个列表
list1 = [3, 7, 11, 15]
list2 = [2, 4, 6, 8]
# 使用map() & lambda函数和两个参数
sub = map(lambda a, b: a - b, list1, list2)
result = list(sub)
print("1st list = ",list1)
print("2nd list = ",list2)
print("从1st列表到2nd列表元素相减后结果为:",result)
输出
第一个列表 = [3, 7, 11, 15] 第二个列表 = [2, 4, 6, 8] 从第一个列表减去第二个列表元素后,结果是:[1, 3, 5, 7]
在此代码中,创建了两个名为 list1 和 list2 的列表。使用 map() 和 lambda 函数,将 list1 中的值从 list2 中的值中减去,以形成一个新列表。为此,将两个参数与 lambda 函数一起传递给 map() 函数,其中 list1 和 list2 由 lambda 函数使用第一个和第二个参数形成。map() 函数对于创建新列表很有用。这个新列表存储在结果中。最后,通过写入list1,list,以及两个列表的值之间的差异来打印结果。
示例2
在这个程序中,我们正在寻找两个列表的乘积。
# 创建两个列表
list1 = [3, 8, 2, 5]
list2 = [2, 4, 6, 8]
# 使用带有两个参数的map()和lambda函数
multi = map(lambda a, b: a * b, list1, list2)
result = list(multi)
print("1st list = ",list1)
print("2nd list = ",list2)
print("乘法后结果是:",result)
输出
1st list = [3, 8, 2, 5] 第二个列表 = [2, 4, 6, 8] 乘法后结果为:[6, 32, 12, 40]
在此代码中,创建了两个名为 list1 和 list2 的列表。使用 map() 和 lambda 函数,将 list1 中的值与 list2 中的值相乘以形成一个新列表。为此,将两个参数与 lambda 函数一起传递给 map() 函数,其中 list1 和 list2 由 lambda 函数使用第一个和第二个参数形成。map() 函数对于创建新列表很有用。此新列表存储在 result 中。最后,将打印 list1、list2 以及将两个列表的值相乘的结果 results。
示例 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() 函数使得操作可迭代对象(尤其是列表)成为可能。这创建了易于理解且简单的代码,同时对数据执行复杂的操作。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

