Python – タプルのリストからすべて大文字の要素をフィルタリングする方法
はじめに
タプルのリストの中から、すべての文字が大文字で構成されている要素だけを抽出したい場面はよくあります。そのような場合は、シンプルな反復処理、ブール値(真偽値)、append メソッド、そして isupper メソッドを組み合わせることで簡単に実現できます。
コード例
以下に具体的な実装例を示します。
my_list = [("PYTHON", "IS", "Fun"), ("PYTHON", "COOl"), ("PYTHON", ), "ORIENTED", "OBJECT"]
print("元のリスト : ")
print(my_list)
my_result_list = []
for sub_list in my_list:
my_result = True
for element in sub_list:
if not element.isupper():
my_result = False
break
if my_result:
my_result_list.append(sub_list)
print("フィルタリング後のリスト : ")
print(my_result_list)出力結果
元のリスト :
[('PYTHON', 'IS', 'Fun'), ('PYTHON', 'COOl'), ('PYTHON',), 'ORIENTED', 'OBJECT']
フィルタリング後のリスト :
[('PYTHON',), 'ORIENTED', 'OBJECT']処理の流れ(解説)
- まず、タプルや文字列を含むリストを定義し、コンソールに表示します。
- 結果を格納するための空のリストを用意します。
- 元のリストを反復処理し、判定用のブール値を「True」に初期化します。
- 次に各要素の内部を再度反復処理し、
isupper()メソッドですべてが大文字であるかどうかを確認します。 - 一つでも大文字以外の文字が見つかった場合は、ブール値を「False」に設定し、
breakによってループを抜けます。 - ブール値が「True」のままだった場合のみ、その要素を結果リストに追加します。
- 最後に、フィルタリングされたリストをコンソールに出力します。
ポイント
リスト内に文字列が直接含まれている場合(例:「ORIENTED」「OBJECT」)、for ループでは文字列が1文字ずつ取り出されます。そのため、すべての文字が大文字であれば、その文字列は要素ごと結果に残ります。一方、「Fun」や「COOl」のように小文字が混ざっているタプルは除外され、最終的にはすべて大文字で構成された要素だけが出力されます。
-
【Python】リスト内のタプルからn番目の要素を取得する方法
Pythonのリストには、タプルを要素として格納することができます。本記事では、リスト内の各タプルからn番目の要素を取り出す方法を、具体的なサンプルコードと実行結果とともに解説します。 方法1:インデックスを使う リスト内包表記を使えば、forループでリストの各タプルを走査しながら、指定したインデックスの要素に直接アクセスできます。以下の例では、各タプルのインデックス1(2番目)の要素を取り出し、新しいリストに結果を格納しています。 サンプルコード Alist = [('Mon','3 pm',10),('Tue','12pm',
-
Pythonでリストから偶数だけを抽出する方法(forループ・whileループ・filter()の使い方)
データ分析では、特定の条件を満たす値だけをリストから抽出(フィルタリング)する処理が必要になることがよくあります。本記事では、Pythonを使ってリストから偶数の値のみを取り出す方法を、複数のアプローチごとにわかりやすく解説します。基本的な考え方はシンプルです。リストの各要素を順番に取り出し、2で割った余りを確認します。余りが0であればその要素は偶数と判断できます。こうして判定した偶数だけを集めて新しいリストを作成すれば、それがフィルタリング条件を適用した結果となります。それでは、代表的な3つの実装方法を見ていきましょう。1. forループを使う方法最もシンプルで直感的なのが、forループを使