Pythonで範囲内の要素を削除する
Pythonから単一の要素を削除するのは、要素のインデックスとdel関数を使用することで簡単です。ただし、インデックスのグループの要素を削除する必要がある場合があります。この記事では、インデックスリストで指定されている要素のみをリストから削除する方法について説明します。
sortとdelの使用
このアプローチでは、削除が発生する必要があるインデックス値を含むリストを作成します。リストの要素の元の順序を保持するために、それらを並べ替えて逆にします。最後に、これらの特定のインデックスポイントの元の指定されたリストにdel関数を適用します。
例
Alist = [11,6, 8, 3, 2] # The indices list idx_list = [1, 3, 0] # printing the original list print("Given list is : ", Alist) # printing the indices list print("The indices list is : ", idx_list) # Use del and sorted() for i in sorted(idx_list, reverse=True): del Alist[i] # Print result print("List after deleted elements : " ,Alist)>
出力
上記のコードを実行すると、次の結果が得られます-
Given list is : [11, 6, 8, 3, 2] The indices list is : [1, 3, 0] List after deleted elements : [8, 2]
ソートおよびリバース後のidx_listは[0,1,3]になります。したがって、これらの位置の要素のみが削除されます。
列挙ではなく列挙を使用
forループ内でenumerate節とnotin節を使用して、上記のプログラムにアプローチすることもできます。結果は上記と同じです。
例
Alist = [11,6, 8, 3, 2] # The indices list idx_list = [1, 3, 0] # printing the original list print("Given list is : ", Alist) # printing the indices list print("The indices list is : ", idx_list) # Use slicing and not in Alist[:] = [ j for i, j in enumerate(Alist) if i not in idx_list ] # Print result print("List after deleted elements : " ,Alist)
出力
上記のコードを実行すると、次の結果が得られます-
Given list is : [11, 6, 8, 3, 2] The indices list is : [1, 3, 0] List after deleted elements : [8, 2]
-
リスト内の代替範囲スライス(Python)
スライスは、Pythonで特定のリストのデータを分析するための非常に一般的な手法です。ただし、分析のために、特定の範囲の値のリストのスライスを作成する必要がある場合があります。たとえば、リストから4要素ごとにスキップして、4要素を印刷する必要があります。この記事では、Pythonでの範囲スライスのこの概念について説明します。 range()とlen()の使用 リストの全長を通過するforループを作成しますが、除算性テストを満たす要素のみを選択します。除算性テストでは、リスト内のk番目の要素の余りの値を確認します。余りが範囲値以上の場合、要素を受け入れます。それ以外の場合は受け入れません。
-
Pythonでリストのサイズを見つける
リストはPythonのコレクションデータ型です。リスト内の要素は変更可能であり、要素に関連付けられた特定の順序はありません。この記事では、Pythonでリストの長さを見つける方法を説明します。つまり、重複しているかどうかに関係なく、リストに存在する要素の数を取得する必要があります。 例 以下の例では、「日」という名前のリストを使用します。まず、len()関数を使用してリストの長さを見つけます。次に、さらにいくつかの要素を追加し、append()関数を使用して長さを再度確認します。最後に、remove()関数を使用していくつかの要素を削除し、長さを再度確認します。要素が重複している場合でも、r