说明
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]
标签:map,内置,函数,迭代,对象,列表,numbers,高阶 From: https://www.cnblogs.com/allenxx/p/17538494.html