如何使用Python中的map()函数
发布时间:2023-06-21 09:27:07
Python中的map()函数是一种非常有用的函数,可以用于对序列中的每个元素都应用一个函数,然后返回一个新的列表。map()函数是Python中的内置函数,可以接收一个函数和一个序列(或其他可迭代对象),并返回一个包含每个元素应用函数的结果的迭代器。
函数语法及参数说明:
map(function, iterable1[, iterable2, iterable3,...iterableN])
function:对可迭代对象进行操作的函数。
iterable1[, iterable2, iterable3,...iterableN]:1到N个可迭代对象,如列表、元组或其它可以迭代的对象,表示所有需要进行操作的序列。
map()函数将返回一个迭代器,可以使用list()函数将其转换为列表。
下面我们来看看如何使用Python中的map()函数:
1、将列表中的所有元素转换为相应的字符串类型:
示例代码:
lst = [1, 2, 3, 4, 5] new_lst = map(str, lst) print(list(new_lst))
输出结果:
['1', '2', '3', '4', '5']
2、计算两个序列的对应元素的乘积:
示例代码:
x = [1, 2, 3, 4, 5] y = [10, 20, 30, 40, 50] z = map(lambda a, b: a * b, x, y) print(list(z))
输出结果:
[10, 40, 90, 160, 250]
3、使用map()函数计算一段文本中每个单词的长度:
示例代码:
text = "Python is a powerful programming language" words = text.split() lengths = map(len, words) print(list(lengths))
输出结果:
[6, 2, 1, 8, 11, 8]
4、使用map()函数将字典中的每个元素的值求平均值:
示例代码:
grades = {'John': [90, 80, 95], 'Peter': [92, 85, 88], 'Mary': [85, 92, 90]}
averages = list(map(lambda grades: sum(grades) / len(grades), grades.values()))
print(averages)
输出结果:
[88.33333333333333, 88.33333333333333, 89.0]
5、使用map()函数将二维列表的每个元素展开为一维列表:
示例代码:
lst = [[1, 2], [3, 4], [5, 6]] new_lst = list(map(lambda x: x[0] + x[1], lst)) print(new_lst)
输出结果:
[3, 7, 11]
总结:
通过上面的例子,我们可以看到,map()函数可以非常方便地对序列中的每一个元素进行操作,而且可以同时对多个序列进行操作。因此,在Python编程中,map()函数是一个非常有用的工具,它使编程更简单,更高效。
