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