Python の zip([iter(s)]n) を理解する
リストを等しいチャンクに分割するサイズはプログラミングにおける一般的なタスクです。 Python は、zip([iter(s)]n) 式を使用した効率的なソリューションを提供します。
iter() 関数はシーケンスの反復子を返しますが、arg 構文はシーケンスを関数呼び出しの引数に解凍します。式の [x] n は、n 個の x を含むリスト、つまり各要素が x に設定された長さ n のリストを作成します。
どのように動作するかを示すために、verbose で展開してみましょう。コード:
s = [1,2,3,4,5,6,7,8,9] n = 3 x = iter(s) y = iter(s) z = iter(s) list(zip(x, y, z))
これにより、次の出力が生成されます:
[(1,2,3),(4,5,6),(7,8,9)]
ご覧のとおり、zip() 関数は各反復子の最初の要素を結合して最初のタプルを形成します。 2 番目の要素を使用して 2 番目のタプルを形成する、というようになります。同じイテレータを複数回提供することで、シーケンスを指定されたサイズのチャンクに効果的に分割します。
以上がPython で `zip([iter(s)]n)` はどのようにしてリストを同じサイズのチャンクに分割しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。