python - 如何在 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 类中使用字典键?
提前致谢。
解决方案
您以错误的顺序传递函数参数:
这里,
es = employer_search(d,ans)
应该
es = employer_search(ans,d)
推荐阅读
- python - Pillow / Numpy 中的高效粘贴/复合蒙版图像
- c# - 从 WCF 服务库项目调用时,Log4Net 记录器类未创建文件?
- java - Junit 4.x + Hibernate 5.x 和 H2 数据库
- python-3.x - 字符串匹配并存储在具有重复项的列表中
- sql - 如何在 Oracle 的表中查找特定值?
- sql - toad for oracle 中的列模糊定义错误
- jenkins - 是否将“仅在构建成功时存档工件”设置为 true 意味着,如果构建失败,任何工件都不会在 Jenkins 中创建?
- r - 将多阶段事件数据转换为r中的纵向数据
- apache-spark - 9 小时后 Spark Streaming 作业失败并出现此错误
- python-3.x - 如何在 python 中按单词的特定字符拆分僧伽罗语单词。我尝试使用单词的长度。还有其他方法吗?