我正在处理一个 json 文件,我需要创建一个数组,稍后我可以在我的 Python 代码中使用它。
它需要看起来像[[1*5,1.75],[2*5,1.74],[3*5,1.76]...]
这样我才能计算 like avgPoints[x][0]+avgPoints[x+1][0]
我当前的代码如下所示:
data = json.loads(json_file)
avgData = data['diameter_measurement'].split(',')
avgStep = float(data['length']) / (len(avgData) - 1)
avgPoints = list(map(lambda index, delta: [index * avgStep, 1.75 + float(delta) / 1000.0], enumerate(avgData)))
但是当我运行我的代码时,它给了我以下错误:
->TypeError: <lambda>() missing 1 required positional argument: 'delta'
当您迭代 时enumerate
,您会得到一项:元组(index, element)
。index, delta
当您调用 时,这不会被隐式解包lambda
,因此您必须自己用类似lambda index_delta: "use index_delta[0] and index_delta[1]"
. 或者,您可以定义一个函数并将该函数的单个参数解压缩到index
and 中delta
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句