チャンク内のリストの反復: Python ソリューション
この記事では、チャンク内の Python リストを反復する方法を検討します。特定の数の要素で構成されます。この状況では、一度に 4 つの整数を操作する必要があります。
従来のアプローチ
提供されたコード セグメントは、リストをチャンク化するための C スタイルのアプローチを示しています。
for i in range(0, len(ints), 4): # dummy op for example code foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
このメソッドは機能しますが、Python の慣用句と一致しない可能性があります。原則。
Python ソリューション
1.チャンカー関数の使用
Python 3.12 以降、Python にはチャンカー関数が導入されました。これは、シーケンスをチャンクするための簡潔かつ効率的な方法を提供します。
def chunker(seq, size): return (seq[pos:pos + size] for pos in range(0, len(seq), size))
この関数はジェネレーターを作成します。指定されたシーケンスから指定されたサイズのチャンクが生成されます。次のコードは使用法を示しています:
for group in chunker(text, 7): print(repr(group),)
2. itertools.islice の使用
3.12 より前の Python バージョンの場合、itertools.islice をチャンク化に利用できます。
from itertools import islice def grouper(seq, size): it = iter(seq) while True: chunk = list(islice(it, size)) if not chunk: return yield chunk
この関数は同様にジェネレーターを作成し、要素のリストを生成します。からのsequence.
結論
チャンカー関数は、Python 3.12 以降でリストをチャンクするためのネイティブで効率的なソリューションを提供します。以前のバージョンでは、グルーパー関数が適切な代替手段を提供します。これらのメソッドを使用すると、大きなリストを操作するときに、より簡潔で慣用的なコードが可能になります。
以上がPython リストをチャンク単位で効率的に反復処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。