我有以下代码,我想知道是否有更清洁的版本来执行以下操作。该函数基本上接受一些数据字典并对其进行解析,操作,构造另一个字典,最后将一些初始数据值以及构造的字典发送到另一个函数以存储在db中。

谁能帮我更好地构建这个结构?

def process_metadata(data):

    # extract data fields

    # here result constructs another metadata from some of the above values

    result = {
                            "identifier": _id,
                            "type": ["t1", "t2", "t3", t4],
                            "properties": {
                                "p1": v1,
                                "p2": v2,
                                "p3": v3,
                                "p4": v4,
                                "p5": v5,
                                "p6": v6,
                                "p7": v7,
                                "p8": v8,
                                "p9": "v9",
                                "p10": v10,
                                "p11": v11,
                                "p12": v12,
                                "p13": v13,
                                "p14": v14,
                                "p15": v15,
                                "p16": v16,
                                "p17": v17,
                                "p18": v18,
                                "p19": "v19",
                                "p20": v20,
                                "p21": v21,
                                "p22": "v22",
                                "p23": "v23",
                                "p24": v24,
                                "p25": v25,
                                "p26": v26,
                                "p27": v27,
                                "p28": v28,
                                "p29": v29,
                                "p30": v30,
                                "p31": v31,
                                "p32": v32,
                                "p33": v33,
                                "p34": v34,
                                "p35": v35,
                                "p36": "v36",
                                "p37": v37
                            }
                        }
    return another_function(data, result)

最佳答案

您可以将属性设为带有v1-v37的构造函数的类,然后将实例化的properties对象存储在result中,然后您的结果将具有三个字段,并且您可以通过result["properties"].v32访问属性

关于python - 如何在python中以更简洁的方式传递多个参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60082981/

10-13 06:02