リスト内の代替範囲スライス(Python)
スライスは、Pythonで特定のリストのデータを分析するための非常に一般的な手法です。ただし、分析のために、特定の範囲の値のリストのスライスを作成する必要がある場合があります。たとえば、リストから4要素ごとにスキップして、4要素を印刷する必要があります。この記事では、Pythonでの範囲スライスのこの概念について説明します。
range()とlen()の使用
リストの全長を通過するforループを作成しますが、除算性テストを満たす要素のみを選択します。除算性テストでは、リスト内のk番目の要素の余りの値を確認します。余りが範囲値以上の場合、要素を受け入れます。それ以外の場合は受け入れません。
例
range_slicing = [6,9,11,15,20,24,29,36,39,43,47,52,56,70,73,79] print("The given list: ",range_slicing) # Range Value s = 4 # Using range and len result = [range_slicing[k] for k in range(len(range_slicing)) if k % (s * 2) >= s] print("\nThe list after range slicing: ",result)
上記のコードを実行すると、次の結果が得られます。
The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79] The list after range slicing: [20, 24, 29, 36, 56, 70, 73, 79]
列挙の使用
以前のアプローチと同様のロジックを適用しますが、range()とlen()を使用する代わりに、enumerate()を適用するだけです。リストの最後の要素は除算条件を満たすため、結果に表示されることに注意してください。
例
range_slicing = [6,9,11,15,20,24,29,36,39,43,47,52,56,70,73,79] print("The given list: ",range_slicing) # Range value s2= 5 # Using Enumerate result_2 = [val for m, val in enumerate(range_slicing) if m % (s2 * 2) >= s2] print("\nThe list after range slicing: ",result_2)
上記のコードを実行すると、次の結果が得られます。
The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79] The list after range slicing: [24, 29, 36, 39, 43, 79]
-
Pythonで範囲内の要素を削除する
Pythonから単一の要素を削除するのは、要素のインデックスとdel関数を使用することで簡単です。ただし、インデックスのグループの要素を削除する必要がある場合があります。この記事では、インデックスリストで指定されている要素のみをリストから削除する方法について説明します。 sortとdelの使用 このアプローチでは、削除が発生する必要があるインデックス値を含むリストを作成します。リストの要素の元の順序を保持するために、それらを並べ替えて逆にします。最後に、これらの特定のインデックスポイントの元の指定されたリストにdel関数を適用します。 例 Alist = [11,6, 8, 3, 2] #
-
Pythonリストの理解とスライス?
このセクションでは、Pythonリストのスライスとリスト内包表記について理解します。 リストスライスとは何ですか? 名前が示すように、スライスとは–何かをより小さな断片(スライス)にカットすることを意味します。リストスライスは、元のリストからリストの一部を抽出するプロセスです。リストスライスでは、必要なもの(開始、停止、スライスする増分など)に基づいてリストをカットします。 リスト内包表記とは何ですか? リスト内包表記は、既存のリストに基づいてリストを生成します。これは、既存のリストに基づいて新しいリストを定義および作成するための洗練された方法を提供します。 リストスライス リストをスラ