avatar

RWO.cc

读一次写一次

  • 首页
  • 搭建手册
  • 笔记
  • 短视频
  • 关于
  • 🌈200粉丝🌈
Home Python的内置函数map()
文章

Python的内置函数map()

Posted 2024-09-1 Updated 2024-08- 29
By RWO.
5~7 min read

Python 的内置函数 map() 用于对可迭代对象(如列表、元组等)中的每一个元素执行指定的函数,并返回一个包含所有函数执行结果的迭代器(可以用 list() 或 tuple() 等将其转换为列表或元组)。

1. map() 的语法

map(function, iterable, ...)
  • function:要应用到每个元素上的函数。
  • iterable:一个或多个可迭代对象(如列表、元组等)。

2. 工作原理

map() 函数会将 iterable 中的每一个元素传递给 function 进行处理,然后将 function 返回的结果收集起来,最后返回一个包含所有结果的迭代器。

3. 示例

示例1:将一个列表中的每个元素平方

numbers = [1, 2, 3, 4]
squared = map(lambda x: x ** 2, numbers)
print(list(squared))  # 输出 [1, 4, 9, 16]

示例2:将两个列表中的对应元素相加

list1 = [1, 2, 3]
list2 = [4, 5, 6]
sum_lists = map(lambda x, y: x + y, list1, list2)
print(list(sum_lists))  # 输出 [5, 7, 9]

示例3:将字符串列表中的每个字符串转换为大写

words = ['apple', 'banana', 'cherry']
uppercase_words = map(str.upper, words)
print(list(uppercase_words))  # 输出 ['APPLE', 'BANANA', 'CHERRY']

4. 多个可迭代对象

当 map() 函数有多个可迭代对象时,它会将这些对象中对应位置的元素传递给 function 进行处理。如果长度不一致,则以最短的可迭代对象为基准。

示例4:多个可迭代对象

list1 = [1, 2, 3]
list2 = [4, 5, 6, 7]
result = map(lambda x, y: x + y, list1, list2)
print(list(result))  # 输出 [5, 7, 9]

5. 使用 map() 和 list 进行元素类型转换

map() 也可以用来转换元素类型,比如将字符串列表转换为整数列表。

示例5:字符串列表转换为整数列表

str_numbers = ['1', '2', '3']
int_numbers = map(int, str_numbers)
print(list(int_numbers))  # 输出 [1, 2, 3]

6. 与列表推导式的对比

map() 函数与列表推导式都可以用来对列表中的元素进行批量操作,但 map() 更加清晰地表达了将一个函数应用于一组元素的意图。

示例6:列表推导式与 map()

numbers = [1, 2, 3, 4]

# 使用 map()
squared_map = list(map(lambda x: x ** 2, numbers))
print(squared_map)  # 输出 [1, 4, 9, 16]

# 使用列表推导式
squared_list = [x ** 2 for x in numbers]
print(squared_list)  # 输出 [1, 4, 9, 16]

7. 小结

map() 函数是 Python 中一个强大而简洁的工具,适用于需要对可迭代对象的每个元素应用相同函数的场景。它的最大优势在于代码的简洁性和可读性,特别是在处理多个可迭代对象时表现得更加灵活。

短视频
每日一点 短视频 Python
License:  CC BY 4.0
Share

Further Reading

Nov 3, 2024

什么是 python 的闭包

在 Python 中,闭包(Closure)是一种函数对象,它不仅包含了函数的代码,还包含了函数创建时的环境变量。这意味着闭包可以“记住”其外部作用域中的变量,即使在外部作用域已经结束后,闭包仍然可以访问这些变量。 函数可以访问他被创建时所处的上下文环境,这被称为闭包。 闭包的基本特征 嵌套函数:闭

Nov 2, 2024

使用argparse模块解析命令行参数

在 Python 中,argparse 模块用于解析命令行参数,使得脚本可以更灵活地接受用户输入。以下是如何使用 argparse 模块解析命令行参数的详细介绍和示例。 基本用法 示例:简单的命令行参数解析 首先,创建一个简单的脚本来解析命令行参数。我们将创建一个脚本,该脚本接受两个整数并打印它们的

Nov 1, 2024

Python中的二维码生成与解析(花里胡哨)

如何使用 qrcode 库生成各种有趣的二维码,包括彩色二维码、带 Logo 的二维码和动态 GIF 二维码。下面,我们将逐步介绍这些功能。 Qrcode 库简介 qrcode 库是一个强大的 Python 工具,用于生成二维码。除了基本的二维码,它还支持自定义功能,如颜色变化、样式设计和动画效果。

OLDER

Python 中的匿名函数

NEWER

Python的内置函数filter()

Recently Updated

  • 什么是 python 的闭包
  • 使用argparse模块解析命令行参数
  • Python中的二维码生成与解析(花里胡哨)
  • Python中的二维码生成与解析(基础使用)
  • 使用platform模块获取系统信息

Trending Tags

学习 Git 工具 SQL docker-compose 每日一点 快捷键 Flink fastapi Windows

Contents

©2025 RWO.cc. Some rights reserved.

Using the Halo theme Chirpy