【发布时间】:2020-02-05 19:39:45
【问题描述】:
我有以下代码,我想知道是否有更简洁的版本来执行以下操作。该函数基本上接受一些数据字典并对其进行解析,对其进行操作,构造另一个字典,最后将一些初始数据值与构造的字典一起发送到另一个函数以存储在数据库中。
谁能帮我把这个结构改得更好?
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)
【问题讨论】:
-
您是否尝试将它们作为关键字参数传递给函数?您始终可以执行 **data 将字典解压缩为关键字-参数对。否则,我不确定仅将字典作为单个参数传递可以使“更干净”多少,我对数据字典也这样做。
-
@Atihska for properties 在
range(1,37,1)of variables 中使用循环 -
你不喜欢它什么?有很多键/属性需要在某处定义。
标签: python coding-style