チャンク リストの zip: zip([iter(s)]n)
The zip() についてfunction は、複数の反復可能オブジェクトの要素をタプルのリストに結合する Python の強力なツールです。その有用性は、リストを同じサイズのチャンクに分割するなど、さまざまなアプリケーションに拡張されます。式 zip([iter(s)]n) は、これを達成するための簡潔な方法です。
この式がどのように機能するかを理解するために、コンポーネントに分割してみましょう。
結果として、zip() は n 個の反復子で呼び出され、それぞれが同じリストを表します。これにより、zip() は各イテレータから 1 つの要素を取得し、タプルを作成します。このプロセスは、すべての反復子が使い果たされるまで継続され、タプルのリストが生成されます。
説明のために、リスト s = [1,2,3,4,5,6,7,8 の例を考えてみましょう。 ,9] および n = 3。式 zip([iter(s)]n) は次の結果を生成します。 [(1,2,3),(4,5,6),(7,8,9)].
式をより冗長なコードに拡張すると、次のようになります:
x = iter(s) y = iter(s) z = iter(s) chunked_list = list(zip(x, y, z))
このコードは、簡潔な式 zip([iter(s)]n) と同じ結果を生成します。基本的に、 iter() は反復子を作成し、 [iter(s)]*n は複数のビューを同じリストに生成し、 splat 演算子は反復子をアンパックして、 zip() が各要素の要素をタプルに結合できるようにします。
以上がPython で `zip([iter(s)]*n)` はどのようにリストをチャンク化するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。