我正在使用json文件,我需要创建一个数组,以后可以在我的Python代码中使用该数组。
它需要看起来像这样[[1*5,1.75],[2*5,1.74],[3*5,1.76]...]
这样我就可以计算出l ike 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'
答案 0 :(得分:0)
当您遍历enumerate
时,您将获得一项:元组(index, element)
。调用index, delta
时,不会将其隐式解包到lambda
中,因此您必须自己使用lambda index_delta: "use index_delta[0] and index_delta[1]"
之类的东西对其进行解包。另外,您可以定义一个函数并将该函数的单个参数解压缩到index
和delta
中。