ホームページ  >  記事  >  バックエンド開発  >  Python で反復繰り返しを使用してサイズの異なるリストを圧縮する方法

Python で反復繰り返しを使用してサイズの異なるリストを圧縮する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-28 09:27:02984ブラウズ

How to Zip Differently Sized Lists in Python Using Iteration Repetition?

反復を繰り返してサイズの異なるリストを圧縮する

さまざまな長さのリストを扱う場合、それらを一緒に圧縮するのが困難になる可能性があります。 Python のデフォルトの zip() 関数は、短いリストの要素と長いリストの要素をペアにし、長いリストの残りの要素はペアにしないままにします。この制限に対処するために、反復反復の力を活用できます。

シームレスな反復に itertools.cycle を使用する

短いリストを反復する効果的な方法の 1 つは、itertools.cycle 関数を利用することです。この関数は、使い果たした後でも反復可能要素を無限にループする反復子を作成します。 zip 操作にサイクルを組み込むことで、長いリストが完全にカバーされるまで短いリストを確実に繰り返すことができます。

コードの実装

サイズの異なるリストを圧縮する itertools.cycle の利用は簡単です。 。次のコード スニペットは、その実装を示しています。

<code class="python">import itertools

A = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B = ["A", "B", "C"]

from itertools import cycle
zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)

for item in zip_list:
    print(item)</code>

出力の内訳

提供されたコードを実行すると、次の出力が生成されます。

(1, 'A')
(2, 'B')
(3, 'C')
(4, 'A')
(5, 'B')
(6, 'C')
(7, 'A')
(8, 'B')
(9, 'C')

観察できるように、短いほどリスト B は、長いリスト A のすべての要素がペアになるまで繰り返されます。このシームレスな繰り返しにより、ペアになっていない要素がなくなり、データを失うことなくリスト全体に対して操作を実行できるようになります。

以上がPython で反復繰り返しを使用してサイズの異なるリストを圧縮する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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