2
list(map(lambda x, y: x+y, [1,2,3], [1,2,3,4]))

2 つのリストの長さが異なる場合、プログラムは一方が反復を終了するまで評価しますか? したがって、上記の例では、[2, 4, 6] になります。

4

2 に答える 2

3

はい、最短の入力引数は、入力の長さの境界を設定するために使用されます。ドキュメントによると

関数を iterable のすべての項目に適用し、結果を生成する反復子を返します。追加の iterable 引数が渡された場合、関数はその数の引数を受け取る必要があり、すべての iterable の項目に並列に適用されます。複数の iterable を使用すると、最短の iterable が使い果たされるとイテレータが停止します。


注目すべき点: これは、最長のリストを使用して評価し、必要に応じて短いリストを拡張する Python 2.x の動作とは異なりNoneます。

于 2013-10-27T05:03:57.273 に答える
0

Python 3.3 リファレンス:

map(function, iterable, ...) : 関数を iterable のすべての項目に適用し、結果を生成する反復子を返します。追加の iterable 引数が渡された場合、関数はその数の引数を受け取る必要があり、すべての iterable の項目に並列に適用されます。複数の iterable を使用すると、最短の iterable が使い果たされるとイテレータが停止します。

于 2013-10-27T05:04:16.287 に答える