第一道题
“”"
1、现在有一个列表 li = [11,21,4,55,6,67,123,54,66,9,90,56,34,22],
请将 大于5的数据过滤出来,然后除以2取余数,结果放到一个生成器中(通过生成器表达式实现)
“”"
print('——————————————第一道题————————————————————')
li = [11,21,4,55,6,67,123,54,66,9,90,56,34,22]
li2 = [(lambda y: y % 2)(i)for i in filter(lambda x: x > 5, li)]
print(li2)
第二道题
“”"
2、定义一个可以使用send传入域名,自动生成一个在前面加上http://,在后面加上路径/user/login的url地址,
生成器最多可以生成5个url,生成5条数据之后再去生成,则报错StopIteration
使用案例:
#例如:
res = g.send(‘www.baidu.com’)
#生成数据res为:http://www.baidu.com/user/logim’
“”"
print('——————————————第二道题————————————————————')
def work_yield():
print('START------')
val = yield 1
for i in range(4):
val = f'http;//{val}/user/login'
val = yield val
g = work_yield()
print(next(g))
for i in range(5):
try:
res = g.send(f'www.baidu{i+1}.com')
print(res)
except StopIteration:
print(f'{i+1}已经不能生成了')
第三道题
“”"
3、通过相关操将下面的列表cases 转换为字典格式
cases = [
[‘case_id’, ‘case_title’, ‘url’, ‘data’, ‘excepted’],
[1, ‘用例1’, ‘www.baudi.com’, ‘001’, ‘ok’],
[4, ‘用例4’, ‘www.baudi.com’, ‘002’, ‘ok’],
[2, ‘用例2’, ‘www.baudi.com’, ‘002’, ‘ok’],
[3, ‘用例3’, ‘www.baudi.com’, ‘002’, ‘ok’],
[5, ‘用例5’, ‘www.baudi.com’, ‘002’, ‘ok’],
]
转换之后的结果格式如下:
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’}
]
“”"
print('——————————————第三道题————————————————————')
cases = [
['case_id', 'case_title', 'url', 'data', 'excepted'],
[1, '用例1', 'www.baudi.com', '001', 'ok'],
[4, '用例4', 'www.baudi.com', '002', 'ok'],
[2, '用例2', 'www.baudi.com', '002', 'ok'],
[3, '用例3', 'www.baudi.com', '002', 'ok'],
[5, '用例5', 'www.baudi.com', '002', 'ok'],
]
list_cases = []
for i in range(1, len(cases)):
dict_1 = dict(zip(cases[0], cases[i]))
list_cases.append(dict_1)
print(list_cases)
#使用推导式 可缩减为一行代码
list_cases = [dict(zip(cases[0], cases_1)) for cases_1 in cases[1:]]
print(list_cases)