Map 函数
本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 72 课,共 78 课。
map() 函数主要接收两项内容:
- 一个函数(其中包含要执行的操作)
- 一个由多个项组成的序列(例如列表或任何元素集合)
然后,它会依次将该函数应用于序列中的每一项,并把所有结果返回给你。
例如:
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 → square 函数将它变成 1
- 输入数字 2 → square 函数将它变成 4
- 输入数字 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() 函数可以处理任何项目集合,不只是数字。集合中的项目可以是字符串,也可以是你想用相同方式处理的任何其他数据类型。
挑战
简单创建一个名为 convert_to_uppercase 的函数,它接收一个字符串列表 strings 作为参数。这个函数应使用 map() 函数和 lambda 函数,将列表中的每个字符串转换为大写。这个函数应返回一个包含大写字符串的列表。
亲手试试
def convert_to_uppercase(strings):
# 用 map() 和 lambda 函数将字符串转换为大写
# 用该表达式替换下方的空列表
uppercase_strings = []
# 返回大写字符串的列表
return list(uppercase_strings)这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Python 在线编译器