数据转换(一)

您所在的位置:网站首页 case:case:case 数据转换(一)

数据转换(一)

2024-03-31 20:11| 来源: 网络整理| 查看: 265

# 有一组用例数据如下: 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'} ]

 

要求二:把上面转换好的数据中case_id大于3的用例数据获取出来,得到如下结果

res = [ {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}, {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'} ]

 

 ​​​​​​​题目一:具体解析步骤

def Transform(cases): #定义一个数据转换的函数,因为要转换的是cases,所以函数的参数为cases title=cases[0] #['case_id', 'case_title', 'url', 'data', 'excepted']是标题,索引是0 list=[] # 创建一个空列表,装后续的数据 for case in cases[1:]: #循环cases列表,取到里面的除标题之外的每一个元素,所以索引是从1开始 dict={} #创建一个空字典,装后续的数据 for k,v in enumerate(case): #将case和title一一对应起来,发现他们的索引是一样的,所以这个时候要用到函数enumerate key=title[k] dict[key]=v list.append(dict) return list last_res=Transform(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'], ])

题目二:具体解析步骤 

def case_id(compare): #再定义一个新的函数,形参应该是要被比较的列表 new_list=[] #增加一个新列表 for dic in last_res: # 循环的是列表中的字典 这个时候dic 应该是列表中的字典 num=dic['case_id'] #通过键获取值 if num>3: #如果满足条件走下一步 new_list.append(dic) #将满足条件的字典加入到新的列表中 return new_list #返回新的列表 def Transform(cases): #定义一个数据转换的函数,因为要转换的是cases,所以函数的参数为cases title=cases[0] #['case_id', 'case_title', 'url', 'data', 'excepted']是标题,索引是0 list=[] # 创建一个空列表,装后续的数据 for case in cases[1:]: #循环cases列表,取到里面的除标题之外的每一个元素,所以索引是从1开始 dict={} #创建一个空字典,装后续的数据 for k,v in enumerate(case): #将case和title一一对应起来,发现他们的索引是一样的,所以这个时候要用到函数enumerate key=title[k] dict[key]=v list.append(dict) return list last_res=Transform(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'], ]) print(last_res) print(case_id(last_res)) #给新定义的函数中的形参compare赋值,实参应为last_res

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3