1、filter
filter函数:过滤器
参数1:过滤规则函数
参数2:可迭代对象
需求:获取列表中大于30的数据
li = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]
res = filter(lambda x: x > 30, li)
print(list(res))
2、map
map函数:将函数应用于 iterable中每一项并输出其结果
参数1:处理函数
参数2:可迭代对象
需求:计算列表中所有数据的二次方法
代码实现
li = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]
res = map(lambda x: x*2, li)
print(list(res))
3、exec
exec: 执行python代码
code = """
a=100
b=200
print(a+b)
"""
exec(code)
4、all
迭代对象内所有的元素为真,返回True
5、any
迭代对象内只要有一个元素为真,返回True
def work(name=None, age=None, sex=None):
if any([name, age, sex]):
print('--成立01---')
if all([name, age, sex]):
print('--成立02---')
work(11, 22, 0)
#结果
--成立01---
6、zip
zip函数:聚合打包
title = ['case_id', 'case_title', 'url', 'data', 'excepted']
data = [1, '用例1', 'www.baudi.com', '001', 'ok']
res = dict(zip(title, data))
print(res)
#结果
{'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'}
多个迭代对象,以最短的
li = [1, 2, 3, 4, 5, 6, 7]
li2 = [11, 22, 33, 44, 55]
li3 = [111, 222, 33]
res = zip(li, li2, li3)
print(list(res))
结果
[(1, 11, 111), (2, 22, 222), (3, 33, 33)]