内置高阶函数map

说明

map函数可以对一个可迭代对象的每个元素进行处理,处理的方式通过指定的函数决定。并返回处理结果(迭代器对象)
示例

复制代码
'''
map()函数是Python内置的高阶函数之一,它接受一个函数和一个可迭代对象作为参数,将函数应用于可迭代对象中的每个元素,并返回一个新的迭代器对象
其语法:map(function, iterable, ...)  其中:
    1. function是一个函数,可以是已定义的函数、lambda函数或其他可调用对象。它将被应用于每个iterable中的元素。
    2. iterable是一个或多个可迭代对象,可以是列表、元组、集合、字典等。function将会被应用于这些可迭代对象中对应位置的元素。
map()函数会返回一个迭代器对象,该迭代器对象包含了将function应用于iterable中每个元素后得到的结果

在Python 3中,map()函数返回的是一个迭代器对象,而不是列表。如果需要得到一个列表,可以使用list()函数将其转换为列表
'''

help(map)

'''
1. map()函数将lambda函数应用于numbers列表中的每个元素,并返回一个包含平方结果的迭代器对象。最后,通过list()函数将迭代器对象转换为列表输出结果。
'''
# 对列表中的每个元素进行平方操作
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x ** 2, numbers)
print(type(squared_numbers))  # <class 'map'>
print(squared_numbers)  # <map object at 0x00000175E0E69840>
print(list(squared_numbers))  # 输出:[1, 4, 9, 16, 25]

# 2. 将字符串列表中的每个字符串转换为大写
words = ["apple", "banana", "cherry"]
uppercase_words = map(str.upper, words)
print(list(uppercase_words))  # 输出:['APPLE', 'BANANA', 'CHERRY']

# 3. 使用多个可迭代对象,对应位置的元素进行操作,此例是对应位置做加法:
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6, 9]  # 如果2个列表个数不一致,不会处理超出的部分
sum_of_numbers = map(lambda x, y: x + y, numbers1, numbers2)
print(list(sum_of_numbers))  # 输出:[5, 7, 9]
复制代码

 

posted @   Allen_Hao  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示