Python Cookbook by
ディスカッション
map
None
None
None
None
map
呼び出し、通常は最初の引数として関数を受け取ります。 ドキュメントが示すように、最初の引数がNone
の場合、identity関数が引数がマップされる関数として使用されます。 複数のリスト引数がある場合、map
は、alllistの対応する項目を含むタプルのlistconsistingを返します(つまり、一種のtransposeoperationです)。 リスト引数は任意の種類のシーケンスであり、theresultは常にリストです。
最初のテクニックは、要素がないシーケンスに対してNone
を返すことに注意してください。 したがって、最初のループのoutputofは次のようになります:p>
Map:a1 b1a2 b2a3 None
zip
同様の方法でリストを反復処理できますが、最小のリストの要素数までしか反復処理できません。 したがって、2番目のテクニックの出力は次のとおりです。
Zip:a1 b1a2 b2
Python2.0では、少し奇妙な構文を持つリスト内包表記が導入されました。
これは、b
b
b
b
b
b
b
a
。 これらの要素は、タプル(x,
y)
for
ループの結果のリストを反復処理します。 したがって、3番目のテクニックの出力は非常に異なります。
List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2
Leave a Reply