借由字典的匹配学习类中方法的调用

现在有两个字典,想要根据id匹配。但这不是目的,我想尝试的是类中方法的自调用和局部,全局变量的用法。

#coding : utf-8
class MatchCase(object):
    def __init__(self, case_1, case_2): # 定义类的属性参数
        self.case_1 = case_1
        self.case_2 = case_2
    def getcaseid(self, case): # 这个方法是获取id的一种方法,注意前面一定要加self,再加局部变量
        keys = tuple(case.keys())
        dic = {}
        for i in range(len(keys)):
            dic[i] = case[keys[i]]['caseid']
        id = list(dic.values())
        return id


    def match(self):
        caseid_1 = self.getcaseid(self.case_1) # 引用类中方法要加self,和变量一样
        caseid_2 = self.getcaseid(self.case_2)
        return list(set(caseid_1) ^ set(caseid_2))
from match import MatchCase

a1 = {"case1": {"caseid": 12, "keyname": "case1", "caseresult": True}, "case2": {"caseid": 13, "keyname": "case1", "caseresult": True}}
a2 = {"case1": {"caseid": 12, "keyname": "case_1", "caseresult": True}, "case2": {"caseid": 13, "keyname": "case_2", "caseresult": True}, "case3": {"caseid": 3, "keyname": "case_3", "caseresult": False}, "case4": {"caseid": 111, "keyname": "case_1", "caseresult": False},  "case5": {"caseid": 19, "keyname": "case_5", "caseresult": False}}

z = MatchCase(a1,a2)
print(z.match())


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值