有没有更好的方法在python中访问此词典?

时间:2019-12-20 16:11:22

标签: python python-3.x list dictionary

我是python的新手,并且已经完成了编程,我知道这是基本知识,但是现在我的大脑已经融化了。

我需要对代表类别的ID进行分类,例如: id:12312 =>食物 id:123132 =>食物

但是我要用字典中的类别键入每个id,有一种更好的方法: 像:{[food:{12132,1444,54556,444},gas:{233,566,555}]} 但是它需要根据该值查找并提供相应的类别...

这是我的代码

def clasificadorTipoGasto(id):
    dict = {
        131794442: "Gastos Menores", 101602465: "Supermercados",
        130403899: "Supermercados", 101793198: "Supermercados",
        101796822: "Supermercados", 101787589: "Supermercados",
        130246491: "Restaurantes", 124003091: "Restaurantes",
        101658347: "Restaurantes", 130123314: "Restaurantes",
        130751366: "Restaurantes", 101568224: "Restaurantes",
        130640726: "Restaurantes", 101808152: "Restaurantes",
        130389586: "Restaurantes", 101582936: "Air Fare",
        101068744: "Combustible", 101726997: "Combustible",
        130551618: "Combustible", 101033738: "Combustible",
        130274487: "Misc", 112107388: "Misc",
        130900663: "Misc", 101036354: "Misc"
    }

    if id in dict.keys():

        return dict[id]
    else:
        return "general"

2 个答案:

答案 0 :(得分:0)

jsconfig.json将尝试返回映射到给定键的值,但是如果查找失败,则返回默认值,而不是引发tsconfig.json

dict.get

如果您尝试从另一个将类别映射到不同ID的字典中​​生成该字典KeyError,请尝试

def clasificadorTipGasto(id):
    d = {...}

    return d.get(id, "general")

答案 1 :(得分:0)

您可以简单地返回:

return d.get(id, "general")

这里的第二个争论是默认值,如果找不到密钥,则将返回默认值