Pythonで数字を含む行を削除する方法
Pythonでは、リストの中に数字(整数)が含まれている行を削除したい場合があります。このような処理を行うには、リスト内包表記とnot演算子、any関数を組み合わせるのが効果的です。
サンプルコード
以下に、実際の実装例を示します。
my_list = [[14, 'Pyt', 'fun'], ['Pyt', 'is', 'best'], [23, 51], ['Pyt', 'fun']]
print("元のリスト:")
print(my_list)
my_result = [index for index in my_list if not any(isinstance(element, int) for element in index)]
print("結果のリスト:")
print(my_result)実行結果
元のリスト: [[14, 'Pyt', 'fun'], ['Pyt', 'is', 'best'], [23, 51], ['Pyt', 'fun']] 結果のリスト: [['Pyt', 'is', 'best'], ['Pyt', 'fun']]
コードの解説
まず、複数の要素を持つネストされたリスト(リストのリスト)を定義し、コンソールに表示します。
リスト内包表記を使って元のリストを反復処理し、各行(各サブリスト)に対して要素が整数型かどうかをチェックします。
要素の型判定には、
isinstanceメソッドを使用します。これにより、その要素がint型であるかどうかを正確に判別できます。any関数は、行内に1つでも整数型の要素が存在する場合にTrueを返します。not演算子と組み合わせることで、「整数を含まない行」だけが条件を満たすことになります。条件を満たした行(数字を含まない行)のみが新しいリストに格納され、変数に代入されます。
最後に、フィルタリング後の結果がコンソールに出力されます。
まとめ
この手法は、データクレンジングや前処理の際に非常に便利です。例えば、文字列データのみで構成された行だけを抽出したい場合などに活用できます。なお、浮動小数点数も除外したい場合は、isinstance(element, int)をisinstance(element, (int, float))に変更することで対応可能です。
-
Pythonで特定の長さKのタプルをリストから削除する方法
はじめにPythonで、特定の長さ「K」を持つタプルをリストから取り除きたい場合、リスト内包表記(list comprehension)を使うと非常に簡潔に実現できます。本記事では、その具体的な方法をサンプルコードとともに分かりやすく解説します。実装例my_list = [(32, 51), (22, 13), (94, 65, 77), (70, ), (80, 61, 13, 17)] print(The list is : ) print(my_list) K = 1 print(The value of K is ) print(K) my_result = [ele for el
-
Pythonで指定した範囲の数値リストを生成する3つの方法
Pythonは、豊富なライブラリと多彩なメソッドによって、データ操作に関するあらゆる要件に柔軟に対応できる言語です。たとえば「ある2つの数値の間に存在するすべての数値を生成したい」といった場面では、Pythonの組み込み関数や標準・外部ライブラリを活用することで簡単に実現できます。本記事では、指定範囲内の数値リストを作成する代表的な3つの手法を、サンプルコードとともにわかりやすく解説します。方法1:range()関数を使うrange()関数は、デフォルトでは0から始まり、1ずつ増加しながら指定した数値の手前までの数値シーケンスを返します。開始値・終了値・増加ステップ(間隔)はすべて自由に指定で