Articles

Python Cookbook by

ディスカッション

mapNoneNoneNoneNonemap呼び出し、通常は最初の引数として関数を受け取ります。 ドキュメントが示すように、最初の引数がNoneの場合、identity関数が引数がマップされる関数として使用されます。 複数のリスト引数がある場合、mapは、alllistの対応する項目を含むタプルのlistconsistingを返します(つまり、一種のtransposeoperationです)。 リスト引数は任意の種類のシーケンスであり、theresultは常にリストです。

最初のテクニックは、要素がないシーケンスに対してNoneを返すことに注意してください。 したがって、最初のループのoutputofは次のようになります:p>

Map:a1 b1a2 b2a3 None

zip同様の方法でリストを反復処理できますが、最小のリストの要素数までしか反復処理できません。 したがって、2番目のテクニックの出力は次のとおりです。

Zip:a1 b1a2 b2

Python2.0では、少し奇妙な構文を持つリスト内包表記が導入されました。


これは、bbbbbbba。 これらの要素は、タプル(x,y)forループの結果のリストを反復処理します。 したがって、3番目のテクニックの出力は非常に異なります。

List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2