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

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

Susan Sarandon
リリース: 2024-11-19 05:51:02
オリジナル
699 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート