results はネストされたリストで、次のようになります。
>>> results
[[1, 2, 3, 'a', 'b'], [1, 2, 3, 'c', 'd'], [4, 5, 6, 'a', 'b'], [4, 5, 6, 'c', 'd']]
pr は関数であり、次のような定義があります。
>>> def pr(line):
... print line
結果に対する通常の反復は、次のように動作します。
>>> for result in results:
... pr(result)
...
[1, 2, 3, 'a', 'b']
[1, 2, 3, 'c', 'd']
[4, 5, 6, 'a', 'b']
[4, 5, 6, 'c', 'd']
ただし、map を使用した暗黙的な反復では、次の動作が発生します。
>>> map(pr, results)
[1, 2, 3, 'a', 'b']
[1, 2, 3, 'c', 'd']
[4, 5, 6, 'a', 'b']
[4, 5, 6, 'c', 'd']
[None, None, None, None]
私の質問: map 関数が追加の反復を生成するのはなぜですか?