Python map及filter函数使用方法解析
map函数
map函数是Python内置函数之一,它可以对一个序列中的每个元素应用一个函数,返回一个新的序列。map函数的语法如下:
map(function, iterable, ...)
其中,function是一个函数,iterable是一个序列,可以是列表、元组、集合等。
以下是map函数的使用方法:
示例1:将列表中的每个元素平方
def square(x):
return x ** 2
lst = [1, 2, 3, 4, 5]
result = map(square, lst)
print(list(result)) # 输出 [1, 4, 9, 16, 25]
在上面的代码中,我们定义了一个square函数,用于计算一个数的平方。然后,我们使用map函数将列表lst中的每个元素应用square函数,返回一个新的序列。
示例2:将两个列表中的元素相加
def add(x, y):
return x + y
lst1 = [1, 2, 3, 4, 5]
lst2 = [10, 20, 30, 40, 50]
result = map(add, lst1, lst2)
print(list(result)) # 输出 [11, 22, 33, 44, 55]
在上面的代码中,我们定义了一个add函数,用于计算两个数的和。然后,我们使用map函数将两个列表lst1和lst2中的元素应用add函数,返回一个新的序列。
filter函数
filter函数是Python内置函数之一,它可以对一个序列中的每个元素应用一个函数,返回一个新的序列,其中包含满足条件的元素。filter函数的语法如下:
filter(function, iterable)
其中,function是一个函数,iterable是一个序列,可以是列表、元组、集合等。
以下是filter函数的使用方法:
示例1:过滤列表中的偶数
def is_even(x):
return x % 2 == 0
lst = [1, 2, 3, 4, 5]
result = filter(is_even, lst)
print(list(result)) # 输出 [2, 4]
在上面的代码中,我们定义了一个is_even函数,用于判断一个数是否为偶数。然后,我们使用filter函数将列表lst中的每个元素应用is_even函数,返回一个新的序列,其中包含满足条件的元素。
示例2:过滤列表中的空字符串
def is_not_empty(s):
return s and len(s.strip()) > 0
lst = ['', 'hello', ' ', 'world', ' ', 'python']
result = filter(is_not_empty, lst)
print(list(result)) # 输出 ['hello', 'world', 'python']
在上面的代码中,我们定义了一个is_not_empty函数,用于判断一个字符串是否为空字符串。然后,我们使用filter函数将列表lst中的每个元素应用is_not_empty函数,返回一个新的序列,其中包含满足条件的元素。
总结
在本文中,我们详细讲解了Python map及filter函数的使用方法,并提供了两个示例。map函数可以对一个序列中的每个元素应用一个函数,返回一个新的序列;filter函数可以对一个序列中的每个元素应用一个函数,返回一个新的序列,其中包含满足条件的元素。使用map及filter函数可以方便地对序列进行处理和过滤。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python map及filter函数使用方法解析 - Python技术站