Python中的map()函数:用法和示例
发布时间:2023-06-23 03:46:15
map() 函数是 Python 内置的函数,能够将一个 iterable 的元素作为参数传入一个函数中,处理并返回一个新的 iterable。这个函数可以理解为“映射”,因为它会对 iterable 中的每个元素都应用一个给定的函数进行处理,返回每个映射后的结果,最终组成一个新的 iterable。
map() 函数的语法如下:
map(function, iterable, ...)
参数说明:
- function: 对 iterable 中每个元素进行处理的函数。
- iterable: 一个或多个 iterable,可以是列表、元组、集合等有序可迭代的对象,包含待处理元素。可以传入多个 iterable,在这种情况下,函数需要有相同数量的参数。
- ...: 可选参数,可以传入多个 iterable,需要和 function 的参数个数相匹配。
示例:
将列表中的每个元素乘以2:
nums = [1, 2, 3, 4, 5] result = map(lambda x: x * 2, nums) print(list(result)) # [2, 4, 6, 8, 10]
将两个列表对应位置的元素相加:
nums1 = [1, 2, 3, 4, 5] nums2 = [5, 4, 3, 2, 1] result = map(lambda x, y: x + y, nums1, nums2) print(list(result)) # [6, 6, 6, 6, 6]
将字符串中的每个单词首字母大写:
words = ['hello', 'world', 'python'] result = map(lambda x: x.capitalize(), words) print(list(result)) # ['Hello', 'World', 'Python']
结合的使用:
nums = [1, 2, 3, 4, 5] words = ['hello', 'world', 'python'] result = map(lambda x, y: x * y.capitalize(), nums, words) print(list(result)) # ['hello', 'Worldworld', 'PythonPythonPython', 'PythonPythonPythonPython', 'PythonPythonPythonPythonPython']
从上面的示例可以看出,使用 map() 函数可以避免或减少循环语句的使用,使代码更简洁易读。但是需要注意的是,map() 函数返回的对象是一个 iterable,需要使用 list() 或者其他可迭代的函数进行转换。
