Python函数之map()函数

map() 函数是 Python 内置函数之一,用于对可迭代对象(如列表、元组等)中的每个元素应用指定的函数,并返回一个包含结果的迭代器。

map() 函数的语法如下:

map(function,iterable,……)

其中,function是一个函数名,是一种功能,为实现我们一些要求的转换,可以是python内置的,比如int,将值整型化,还可以是自定义的或使用 lambda 表达式定义的匿名函数参数。iterable 是一个可迭代对象,如列表、元组、集合等。

map() 函数的工作原理如下:

1、map() 函数将可迭代对象 iterable 中的每个元素逐个传递给函数 function 进行处理。
2、function 对每个元素进行处理,并返回处理后的结果。
3、map() 函数将处理后的结果收集起来,并返回一个迭代器,该迭代器包含了所有处理后的结果。

下面是一些例子来说明 map() 函数的用法:

例1:将一个函数应用于一个可迭代对象的每个元素

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

例2:接受多个函数和多个可迭代对象作为参数,并将这些函数应用于相应的序列

numbers = [1, 2, 3]
strings = ["one", "two", "three"]
result = map(lambda x, y: (x, y), numbers, strings)
print(list(result))  # 输出: [(1, 'one'), (2, 'two'), (3, 'three')]

例3:可以与内建函数一起使用,例如 str.upper() 来转换字符串为大写,str.lower() 来转换字符串为小写

words1 = ["hello", "world", "python", "map"]
words2 = ["HELLO", "WORLD", "PYTHON", "MAP"]
upper_words = map(str.upper, words1)
print(list(upper_words))  # 输出: ['HELLO', 'WORLD', 'PYTHON', 'MAP']
lower_words = map(str.lower, words2)
print(list(lower_words))  # 输出:['hello', 'world', 'python', 'map']

例4:创建自定义函数并使用 map() 来应用它

def add_five(x):
    return x + 5

numbers = [1, 2, 3, 4, 5]
result = map(add_five, numbers)
print(list(result))  # 输出: [6, 7, 8, 9, 10]

例5:与 lambda 表达式结合使用,以简化代码

numbers = [1, 2, 3, 4, 5]
doubled = map(lambda x: x * 2, numbers)
print(list(doubled))  # 输出: [2, 4, 6, 8, 10]

例6:转化数据类型

a=[3.7,4,5]
b=list(map(int,a))
c=list(map(str, a))
print(b) #输出:[3, 4, 5]
print(c) #输出:['3.7', '4', '5']

需要注意的是,map() 函数返回的是一个迭代器,需要使用 list() 函数将其转换为列表形式。如果不进行转换,可以直接使用迭代器进行迭代访问处理后的结果。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值