在Python中,map()
函数是一个内置的高阶函数,用于将一个函数应用于一个序列中的每个元素,并返回一个新的列表。以下是map()
函数的基本用法:
map(function, iterable, ...)
-
function
:一个函数,该函数将应用于iterable
中的每个元素。 -
iterable
:一个或多个可迭代对象,如列表、元组、集合、字典或字符串。 -
...
:可选参数,可以传递更多的可迭代对象。
map()
函数返回一个迭代器,如果需要转换为列表,可以使用list()
函数。
示例用法
- 类型转换:
str_numbers = ['1', '2', '3']
int_numbers = list(map(int, str_numbers))
print(int_numbers) # 输出: [1, 2, 3]
- 数据格式化:
float_numbers = [3.14159, 2.71828, 1.61803]
formatted_numbers = list(map(lambda x: f'{x:.2f}', float_numbers))
print(formatted_numbers) # 输出: ['3.14', '2.72', '1.62']
- 并行迭代:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
sum_list = list(map(lambda x, y: x + y, list1, list2))
print(sum_list) # 输出: [5, 7, 9]
- 复杂函数应用:
def add(x, y):
return x * y
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(add, list1, list2))
print(result) # 输出: [4, 10, 18]
注意事项
-
在Python 2.x中,
map()
返回一个列表。 -
在Python 3.x中,
map()
返回一个迭代器。 -
如果传入的多个可迭代对象长度不相同,
map()
会按照最短的长度进行处理。
希望这些示例能帮助你理解map()
函数的用法。