python3补充篇(高级内置函数)

 enumerate:获取列表/字符串/元祖/每个元素和对应的下标

 

#  enumerate:获取列表/字符串/元祖/每个元素和对应的下标
a = [11, 22, 33, 44, 55, 66]
li1 = enumerate(a)
print(list(li1))#会以列表元组形式打印出来,[(下表索引位置, 对应的数据)]

s = "sfsdgfsk"
li2 = enumerate(s)
print(list(li2))

结果:

 

filter:过滤器函数

# filter:过滤器函数

# 将case_id大于3的用例数据过滤出来
res1 = [
    {'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'},
    {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
    {'case_id': 2, 'case_title': '用例2', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
    {'case_id': 3, 'case_title': '用例3', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
    {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
]

#过滤规则的函数
def func(data):
    return data['case_id'] > 3

#  使用过滤器对数据进行过滤
# 参数1:过滤的规则函数
# 参数2: 要被过滤的数据
data = filter(func, res1)
print(list(data))

结果:

 

lambda:匿名函数

f = lambda x,y:x+y
print(f(11,22))

结果:

 

过滤的高级写法

 

#
res1 = [
    {'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'},
    {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
    {'case_id': 2, 'case_title': '用例2', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
    {'case_id': 3, 'case_title': '用例3', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
    {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
]
res2 = filter(lambda x:x["case_id"]>3,res1)
print(list(res2))


# 上面过滤器执行的原理
# def func(data):
#     return data['case_id'] > 3
# list3 = []
# for i in res1:
#     result = func(i)
# if result:
#  list3.append(i)

结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值