欢迎访问宙启技术站
智能推送

Python中的map()函数及用法

发布时间:2023-05-28 01:29:16

map()函数是Python中内置的一种高阶函数,用于在一个序列中的每个元素上应用一个函数,返回一个新列表,其中包含该函数的结果。在这个过程中,map()函数不改变原来的序列,而是返回一个新序列。

map()函数的语法如下:

map(function, iterable, …)

参数说明:

function:要应用于 iterable 各元素的函数,可以是任何 Python 可调用的函数。

iterable:一个或多个序列,可以是列表、元组等。

...:可以有多个 iterable,多个 iterable 之间用逗号隔开。

返回值:Python3.x 返回迭代器,Python2.x 返回列表。

以下是map()函数的几个应用场景:

1. 把字符串中的每个字符按照ASCII码值转换成数字

假如我们有一个字符串‘hello, world!’,我们想把其中的每个字符按照ASCII码值转换成数字。这时候,我们可以使用ord()函数来实现这个功能。ord()函数可以将字符转换成对应的ASCII码值。具体实现如下:

s = 'hello, world!'
result = map(ord, s)
print(list(result))

输出结果:

[104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]

2. 把两个列表对应元素相乘

假如我们有两个列表A和B,我们想把它们中对应位置的元素相乘得到一个新列表C,可以使用map()函数来实现。具体实现如下:

A = [1, 2, 3, 4]
B = [5, 6, 7, 8]
C = list(map(lambda x, y: x * y, A, B))
print(C)

输出结果:

[5, 12, 21, 32]

3. 把字符串中的每个单词首字母大写

假如我们有一个字符串,其中包含多个单词。我们想把每个单词的首字母大写,可以使用map()函数和title()函数来实现。title()函数可以将字符串中每个单词的首字母大写。具体实现如下:

s = 'hello, world!'
result = map(str.title, s.split())
print(' '.join(result))

输出结果:

Hello, World!

map()函数是Python中非常实用的一个函数,可以帮助程序员更加方便地进行数据处理和转换。