Python – 大文字・小文字が統一された文字列をフィルタリングする方法
リストの中から、すべて大文字またはすべて小文字で統一された文字列だけを抽出したい場合、リスト内包表記と isupper() メソッド、islower() メソッドを組み合わせると簡単に実現できます。
サンプルコード
以下に具体的な実装例を示します。
my_list = ["Python", "good", "FOr", "few", "CODERS"]
print("The list is :")
print(my_list)
my_result = [sub for sub in my_list if sub.islower() or sub.isupper()]
print("The strings with same case are :")
print(my_result)
出力結果
The list is : ['Python', 'good', 'FOr', 'few', 'CODERS'] The strings with same case are : ['good', 'few', 'CODERS']
解説
まず、複数の文字列を含むリストを定義し、コンソールに表示します。
次に、リスト内包表記を使ってリストの各要素を順に取り出し、islower() メソッドで「すべて小文字であるか」、isupper() メソッドで「すべて大文字であるか」を判定します。
条件を満たした要素だけが新しいリストにまとめられ、変数
my_resultに代入されます。最後に、その結果をコンソールへ出力して完了です。
なお、「Python」や「FOr」のように大文字と小文字が混在している文字列は、どちらの条件にも当てはまらないため、結果から除外される点に注意してください。
この手法は、入力データの正規化やバリデーションなど、文字列の形式を揃えたい場面で非常に役立ちます。
-
Pythonのラムダ式とfilter()関数を実例でわかりやすく解説
この記事では、Python 3.x(およびそれ以前のバージョン)におけるラムダ式と filter() 関数について学びます。どちらの機能もPythonの標準ライブラリに組み込まれており、追加のインポートなしですぐに利用できます。 ラムダ式とは? ラムダ式を使うと、インライン関数(その場で定義する小さな関数)を簡潔に記述できます。ラムダ式は、キーワード lambda の後にカンマ区切りの引数リストと、それらの引数を使って評価される式を続けて記述します。 構文 lambda 引数: 式 戻り値: 引数を式に代入して計算された値が返されます。 ラムダ式には関数名を付けないため、「匿名関数(無名関数)
-
Pythonで文字列のリストを並べ替える方法:sort()とsorted()の使い分け
Pythonでは、文字列のリストを並べ替える方法が2つ用意されています。リスト自体を直接変更するsort()メソッドと、元のリストを保持したまま新しい並べ替え済みリストを作成するsorted()関数です。それぞれの特徴と使い方を解説します。 sort()メソッドでリストをその場で並べ替える sort()は、リストそのものを並べ替える「in-place(破壊的)」な操作です。元のリストの順序が直接変更されるため、戻り値を受け取る必要はありません。 >>> a = [Hello, My, Followers] >>> a.sort() >>>