1

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))

問題はない。

4

2 に答える 2

3

Python 3 では、 mapは python 2 のimapのような遅延反復子オブジェクトを返すため、次のように反復子を評価する必要があります。

list(map(lambda i : self.buildGraph(i, n), range(n)))
于 2012-09-13T10:39:24.020 に答える
0

あなたの例の1つがあなたが期待するものをどのように提供するかわかりませmapんが、他のものはそうではありませんが、一般的なヒントとして、3.xで既存の2.xコードを使用する場合-2to3ツールを使用して、マップ/フィルター/範囲などの間の動作の変更...後ろで噛まないでください。

于 2012-09-13T11:58:38.650 に答える