2016-12-09 14 views
0
freq_items = dict(filter(lambda k,v : float(v)/float(self.total_items) >= self.support, items_list.items())) 

この行では、「lambda 1 missing positional arguments:v」というエラーが表示されます。誰でもこのエラーを把握するのを助けることができます。 Pythonでラムダ関数の引数を渡す方法

freq_items = dict(filter(lambda (k,v) : float(v)/float(self.total_items) >= self.support, items_list.items())) 

この

は、Python 3で削除されました。しかし、次の遺跡:

のPython 2では

答えて

1

、引数のタプル開梱して、あなたのプログラムを修正することが可能であるしかし

freq_items = dict(filter(lambda item: float(item[1])/float(self.total_items) >= self.support, items_list.items())) 

、あなたは本当にあなたがdictコンを好む場合

freq_items = {k:v for k,v in items_list.items() if float(v)/float(self.total_items) >= self.support} 

または:辞書内包表記を使用する必要があります2.5互換のための構造体。

freq_items = dict(k,v for k,v in items_list.items() if float(v)/float(self.total_items) >= self.support) 
関連する問題