ホームページ  >  記事  >  バックエンド開発  >  Python で `zip([iter(s)]n)` はどのようにしてリストを同じサイズのチャンクに分割しますか?

Python で `zip([iter(s)]n)` はどのようにしてリストを同じサイズのチャンクに分割しますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 05:51:02655ブラウズ

How does `zip([iter(s)]n)` split a list into chunks of equal size in Python?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。