Menu
CoddyTech

Map 函数

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 72 课,共 78 课。

map() 函数主要接收两项内容:

  1. 一个函数(其中包含要执行的操作)
  2. 一个由多个项组成的序列(例如列表或任何元素集合)

然后,它会依次将该函数应用于序列中的每一项,并把所有结果返回给你。

例如:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # 这只是一个数字列表
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# 输出:[1, 4, 9, 16, 25]

这里发生了什么:

  • 我们有一个数字列表:[1, 2, 3, 4, 5]
  • map() 函数一次取一个数字
  • 它将每个数字传入我们的 square 函数
  • 它按顺序收集所有结果

你可以把它想象成一条流水线:

  1. 输入数字 1 → square 函数将它变成 1
  2. 输入数字 2 → square 函数将它变成 4
  3. 输入数字 3 → square 函数将它变成 9,以此类推……

你也可以使用 lambda 函数,而不是单独定义一个函数:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# 输出:[1, 4, 9, 16, 25]

map() 函数可以处理任何项目集合,不只是数字。集合中的项目可以是字符串,也可以是你想用相同方式处理的任何其他数据类型。

challenge icon

挑战

简单

创建一个名为 convert_to_uppercase 的函数,它接收一个字符串列表 strings 作为参数。这个函数应使用 map() 函数和 lambda 函数,将列表中的每个字符串转换为大写。这个函数应返回一个包含大写字符串的列表。

亲手试试

def convert_to_uppercase(strings):
    # 用 map() 和 lambda 函数将字符串转换为大写
    # 用该表达式替换下方的空列表
    uppercase_strings = []
    
    # 返回大写字符串的列表
    return list(uppercase_strings)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Python 在线编译器