Pythonで文字列リストの要素の大文字・小文字を変換する方法
データ処理を行っていると、文字列内のすべての文字を統一した大文字または小文字に揃えたい場面に遭遇することがあります。この記事では、大文字と小文字が混在した文字列要素を含むリストを例に、Pythonの組み込み関数を使ってすべての要素を同じケースに変換する方法を解説します。
lower()を使ってすべて小文字に変換する
lower()は、文字列全体を小文字に変換する文字列メソッドです。map()とlambdaを組み合わせることで、リスト内の各要素に対してlower()を一括して適用できます。
サンプルコード
listA = ['MoN', 'TuE', 'FRI']
# 元のリスト
print("Given list : \n", listA)
res = list(map(lambda x: x.lower(), listA))
# 結果の出力
print("New all lowercase list: \n", res)
実行結果
上記のコードを実行すると、次の出力が得られます。
Given list : ['MoN', 'TuE', 'FRI'] New all lowercase list: ['mon', 'tue', 'fri']
upper()を使ってすべて大文字に変換する
この方法では、リスト内包表記(forループ)を使って、リストの各要素に直接upper()を適用します。これにより、すべての文字列が大文字に変換された新しいリストが生成されます。
サンプルコード
listA = ['MoN', 'TuE', 'FRI']
# 元のリスト
print("Given list : \n", listA)
res = [x.upper() for x in listA]
# 結果の出力
print("New all uppercase list: \n", res)
実行結果
上記のコードを実行すると、次の出力が得られます。
Given list : ['MoN', 'TuE', 'FRI'] New all uppercase list: ['MON', 'TUE', 'FRI']
まとめ
map()とlambdaを組み合わせる方法でも、リスト内包表記を使う方法でも、リスト内の文字列のケースを簡単に統一できます。コードの可読性を重視するならリスト内包表記、既存の関数型スタイルに合わせるならmap()の活用がおすすめです。
-
Pythonで文字列のリストをリストのリスト(ネストしたリスト)に変換する方法
この記事では、文字列型のデータを含むリストから、リストのリスト(入れ子構造のリスト)を作成する方法を解説します。元のリストには、リスト形式の文字列が要素として格納されており、それらを個々の要素に分解して、真のリスト構造へと変換していきます。strip()とsplit()を使う方法まず紹介するのは、strip()とsplit()の2つのメソッドを組み合わせる方法です。strip()で各文字列から不要な角括弧「[ ]」を取り除き、その後split()を使ってカンマ区切りで要素を分割することで、リストのリストを生成できます。コード例list1 = [ [0, 1, 2, 3],[Mon, Tue,
-
Pythonでリストのリストを列ごとの個別要素に変換する方法
Pythonでデータ分析やデータ処理を行っていると、与えられたリストを整形(リシェイプ)して、異なる列構造を持つリストを作り直す必要がある場面に遭遇します。本記事では、リストのリストを列単位で個別の要素に変換するための複数のアプローチを、サンプルコード付きでわかりやすく解説します。方法1:スライシングを使うリストを任意の位置でスライスすることで、列状の構造を作り出せます。ここでは、元のリストを中央で分割した新しいリストへと変換します。処理には2つのforループを使用し、外側のループで各サブリストの先頭(0番目)から2番目の要素までを、内側のループで2番目以降から末尾までの要素を扱います。サンプ