数据转换(一)

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

謹言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值