filter函数的使用
lambda函数的使用
def f(n
):
"""判断给定的数是不是奇数"""
return n
% 2 != 0
def use_filer(l
):
"""
获取指定列表元组中的奇数
:param l: list/tuple 要过滤的数据
:return: 过滤好的奇数列表
"""
rest
= filter(lambda n
: n
% 2 != 0, l
)
return rest
if __name__
== '__main__':
l
= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
rest
= use_filer
(l
)
print(rest
)
print(list(rest
))
map函数的使用
def pow_number(l
):
"""
根据给定的列表数据,计算里面每一项的立方
:param l: list/type int 类型的列表或者是元组
:return: 原来列表中的每一项的立方
"""
rest_list
= []
for x
in l
:
rest_list
.append
(x
* x
* x
)
return rest_list
def f(n
):
"""求给定数的立方"""
return n
* n
* n
def pow_num_use_map(l
):
"""
根据给定的列表数据,计算里面每一项的立方
:param l: list/type int 类型的列表或者是元组
:return: 原来列表中的每一项的立方
"""
return map(f
, l
)
def pow_num_use_lambda(l
):
"""
根据给定的列表数据,计算里面每一项的立方
:param l: list/type int 类型的列表或者是元组
:return: 原来列表中的每一项的立方
"""
return map(lambda n
: n
* n
* n
, l
)
if __name__
== '__main__':
l
= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
rest
= pow_number
(l
)
print(rest
)
print('---------------------------------------------------')
rest_map
= pow_num_use_map
(l
)
print(list(rest_map
))
rest_lambda
= pow_num_use_lambda
(l
)
print('---------------------------------------------------')
print(list(rest_lambda
))
reduce函数的使用
from sympy
.core
.compatibility
import reduce
def get_sum(l
):
"""
根据给定的列表,求里面各个数字的总和
:param l:list/type 里面是整数
:return:列表所有项的和
"""
rest
= 0
for i
in l
:
rest
+= i
return rest
def get_sun_use_py(l
):
"""
使用python内置的sum()进行求和
:param l:
:return:
"""
return sum(l
)
def f(m
, n
):
"""求两个数的和"""
return m
+ n
def get_sun_use_reduce(l
):
"""
使用reduce函数进行求和
:param l:
:return:
"""
return reduce(f
, l
)
def get_sum_use_lambda(l
):
"""
使用reduce + lambda进行求和
:param l:
:return:
"""
return reduce(lambda m
, n
: m
+ n
, l
)
if __name__
== '__main__':
l
= [1, 2, 3, 4, 5, 6, 7, 8, 9]
rest
= get_sum
(l
)
print(rest
)
rest
= get_sun_use_py
(l
)
print(rest
)
rest
= get_sun_use_reduce
(l
)
print(rest
)
rest
= get_sum_use_lambda
(l
)
print(rest
)
编程练习
使用filter函数,求0-50以内的偶数 任务
定义use_filter函数函数体内:实现过滤偶数的功能
def use_filter(l
):
date
= filter(lambda n
:n
% 2 == 0,l
)
return date
if __name__
== '__main__':
l
= list((range(0,50)))
print(l
)
date
= use_filter
(l
)
print(list(date
))
使用map函数,求元组中各个元素的5次方
t
= (32, 1024, 7776, 32768, 100000, 248832)
def use_map(t
):
data
= map(lambda n
: pow(n
, 5), t
)
return data
data
= use_map
(t
)
print(list(data
))
请运用reduce函数,计算20!
from sympy
.core
.compatibility
import reduce
l
= list(range(1, 21))
print(l
)
def use_reduce(l
):
result
= reduce(lambda m
, n
: m
* n
, l
)
return result
result
= use_reduce
(l
)
print(result
)
转载请注明原文地址:https://blackberry.8miu.com/read-1665.html