Python v2.7 のコードが Python v3.2 で機能しなくなった
私はどこでも検索しましたが、このケースは見つかりませんでした。関数self.buildGraph(i, n)
が実際に呼び出されることはないようです
n = 33
map(lambda i : self.buildGraph(i, n), range(n))
ただし、次の関数を使用します。
map(lambda x : fu(a, x), range(10))
問題はない。
Python v2.7 のコードが Python v3.2 で機能しなくなった
私はどこでも検索しましたが、このケースは見つかりませんでした。関数self.buildGraph(i, n)
が実際に呼び出されることはないようです
n = 33
map(lambda i : self.buildGraph(i, n), range(n))
ただし、次の関数を使用します。
map(lambda x : fu(a, x), range(10))
問題はない。
Python 3 では、 mapは python 2 のimapのような遅延反復子オブジェクトを返すため、次のように反復子を評価する必要があります。
list(map(lambda i : self.buildGraph(i, n), range(n)))
あなたの例の1つがあなたが期待するものをどのように提供するかわかりませmap
んが、他のものはそうではありませんが、一般的なヒントとして、3.xで既存の2.xコードを使用する場合-2to3ツールを使用して、マップ/フィルター/範囲などの間の動作の変更...後ろで噛まないでください。