0
freq_items = dict(filter(lambda k,v : float(v)/float(self.total_items) >= self.support, items_list.items()))
此行給我錯誤「lambda 1缺少位置參數:v」。任何人都可以幫我解決這個錯誤。如何在Python中的lambda函數中傳遞參數
freq_items = dict(filter(lambda k,v : float(v)/float(self.total_items) >= self.support, items_list.items()))
此行給我錯誤「lambda 1缺少位置參數:v」。任何人都可以幫我解決這個錯誤。如何在Python中的lambda函數中傳遞參數
在Python 2,可以用參數元組拆包修復程序:
freq_items = dict(filter(lambda (k,v) : float(v)/float(self.total_items) >= self.support, items_list.items()))
這在Python 3被刪除,但下面依然是:
freq_items = dict(filter(lambda item: float(item[1])/float(self.total_items) >= self.support, items_list.items()))
但是,你真的應該使用詞典理解:
freq_items = {k:v for k,v in items_list.items() if float(v)/float(self.total_items) >= self.support}
或者如果您更喜歡dict
con 2.5兼容性的結構。
freq_items = dict(k,v for k,v in items_list.items() if float(v)/float(self.total_items) >= self.support)