ホームページ > バックエンド開発 > Python チュートリアル > Python で 2 つのリストを効率的にインターリーブするにはどうすればよいですか?

Python で 2 つのリストを効率的にインターリーブするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-05 03:23:11
オリジナル
171 人が閲覧しました

How Can I Efficiently Interleave Two Lists in Python?

Python でのリストの最適なインターレース

2 つのリストを操作するとき、ユーザーは多くの場合、それらを特定の方法で結合する必要があります。そのような望ましい結果の 1 つは、リストの要素を交互のパターンでインターリーブすることです。このため、この組み合わせを最も効果的に、Python 的に実現するかという問題が生じます。

従来のアプローチ

単純なアプローチでは、ループを使用してリストを反復処理し、リストから要素を追加します。最初のリストは偶数のインデックスにあり、2 番目のリストの要素は奇数のインデックスにあります。ただし、この方法には洗練さと効率が欠けています。

Python のスライス

より簡潔な Python の方法では、スライスとリストの割り当てを利用します。入力リストの長さを結合した結果リストを作成することにより、結果リストを 2 のストライドでスライスできます。その後、偶数のインデックスが付いた要素が最初のリストに割り当てられ、奇数のインデックスが付いた要素が 2 番目のリストに割り当てられます。 .

次の例を考えてみましょう。

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
ログイン後にコピー

結果の「結果」リストは次のようになります。 be:

['f', 'hello', 'o', 'world', 'o']
ログイン後にコピー

このメソッドは簡潔であるだけでなく効率的であり、ループやインデックス操作の必要性を排除します。これは、リスト操作における Python のスライス機能の威力を示しています。

以上がPython で 2 つのリストを効率的にインターリーブするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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