[英]TypeError: <lambda>() missing 1 required positional argument
我正在處理一個 json 文件,我需要創建一個數組,稍后我可以在我的 Python 代碼中使用它。
它需要看起來像這樣[[1*5,1.75],[2*5,1.74],[3*5,1.76]...]
所以我可以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'
當您迭代enumerate
,您會得到一項:元組(index, element)
。 當您調用lambda
,這不會隱式地解包到index, delta
,因此您必須自己用lambda index_delta: "use index_delta[0] and index_delta[1]"
類的東西解壓它。 或者,您可以定義一個函數並將該函數的單個參數解包為index
和delta
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.