簡體   English   中英

類型錯誤:<lambda> () 缺少 1 個必需的位置參數

[英]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]"類的東西解壓它。 或者,您可以定義一個函數並將該函數的單個參數解包為indexdelta

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM