首页 > 解决方案 > 如何在 python 类中使用字典键和值?

问题描述

我是新手,尝试在 python 中学习类方法。我有两个字典如下:

d = {
    "day_rate":None,
    "hourly_rate": 50,
    "Comp_ID":[482,483],
    "availability":"",
    "page": 1
}

ans = {
        "hourly_rate": "50",
        "day_rate":None, 
         "available": "Available Immediately", 
         "competencies": "485,483,488"
      }

现在我想在 python 类中插入这两个字典,并想在类函数中使用它们的键。我尝试了简单的方法,就像我只是插入 dict 并尝试直接使用一样。我的做法如下:

class employer_search(object):

    def __init__(self,ans,d):
        self.ans = ans
        self.d = d

        print(ans)
        print(d)

    def Competency_scoring(self):
        if self.ans['competencies'] is not None:
            Job_comp = []
            for i in (self.ans['competencies'].split(",")):
                Job_comp.append(int(i))
            h = []
            for j in self.d['Comp_ID']:
                for i in Job_comp:
                    if j == i: 
                        a = i
                        h.append(a)
            matched_comp = []
            final_result = []

            q = [[x,h.count(x)] for x in set(h)]

            print(len(q))

            if len(q) == 1:
                comp_score = 0.25
            elif len(q) == 2:
                comp_score = 0.50
            elif len(q) == 3:
                comp_score = 0.75
            elif len(q) >= 4:
                comp_Score = 1.0
            return(comp_score)
        else:
            return(0)

然后我做了

es = employer_search(d,ans)
es.Competency_scoring()

它给了我dict键的keyerror。错误如下:

KeyError: 'competencies'

我试图更正键名,但它不断给我错误。谁能帮助我如何在 Python 类中使用字典键?

提前致谢。

标签: pythondictionary

解决方案


您以错误的顺序传递函数参数:

这里,

es = employer_search(d,ans)

应该

es = employer_search(ans,d)

推荐阅读