Python中的starmap和map函数都可以应用于数据处理和转换,两个函数的作用很类似,都可以对序列中的每个元素应用一个函数进行转换,区别在于传入函数的参数不同。下面分别详细讲解:
map()
map()函数可以接受一个函数和一个或多个序列,将序列中每个元素应用函数处理,返回所有处理结果组成的列表。例如:
def square(n):
return n**2
list1 = [1, 2, 3, 4, 5]
result = list(map(square, list1))
print(result)
上述代码中使用了map()函数将列表中的每个数平方,最后输出[1, 4, 9, 16, 25]。
starmap()
starmap()函数与map()函数类似,但是starmap()函数的参数可以是元组,接受的参数要求函数能够接受多个参数,而map()函数只接受一个参数。例如:
from itertools import starmap
def add_two_numbers(a, b):
return a + b
list1 = [(1, 2), (3, 4), (5, 6)]
result = list(starmap(add_two_numbers, list1))
print(result)
上述代码中使用了starmap()函数将每个元组中的数字相加,最后输出[3, 7, 11]。
使用map()和starmap()函数可以方便地对数据进行转换和处理,不同的应用场景需要选择不同的函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python starmap()和map()应用数据 - Python技术站