Pythonで単語リストをキャメルケース(camelCase)に変換する方法
キャメルケースとは
キャメルケース(camelCase)は、複数の単語をつなげて1つの識別子を作るための命名規則の一つです。最初の単語は先頭が小文字で始まり、2つ目以降の単語は先頭が大文字になります。たとえば「hello world」は「helloWorld」と表記されます。Pythonでは変数名や関数名の命名によく使われるスタイルです。
本記事では、単語のリストを受け取り、それらをキャメルケース形式で連結する方法を解説します。
たとえば、入力が ["Hello", "World", "Python", "Programming"] の場合、出力は「helloWorldPythonProgramming」になります。
解決の手順
この問題は、次の手順で解決できます。
- 空文字列 s を用意します。
- リスト内の各単語に対して、次の処理を繰り返します。
- 単語の先頭の文字を大文字にし、残りの文字をすべて小文字にします。
- 整形した単語を s に連結します。
- s の先頭の1文字だけを小文字に変換したものを ret とします。
- ret を返します。
実装例
理解を深めるために、実際のコードを見てみましょう。
class Solution:
def solve(self, words):
s = "".join(word[0].upper() + word[1:].lower() for word in words)
return s[0].lower() + s[1:]
ob = Solution()
words = ["Hello", "World", "Python", "Programming"]
print(ob.solve(words))
入力
["Hello", "World", "Python", "Programming"]
出力
helloWorldPythonProgramming
コードの解説
まず、"".join() を使って、各単語を整形しながら連結しています。word[0].upper() で先頭の1文字を大文字にし、word[1:].lower() で2文字目以降を小文字に変換しています。この処理をジェネレータ式で全単語に適用することで、効率的に文字列を組み立てられます。
次に、s[0].lower() + s[1:] の部分で、連結後の文字列の最初の1文字だけを小文字に戻しています。これにより、先頭も大文字になる PascalCase ではなく、正しいキャメルケース形式の文字列が完成します。
このように、Pythonの文字列メソッド upper()・lower() と join() を組み合わせるだけで、シンプルかつ読みやすいコードでキャメルケースへの変換を実現できます。
-
Pythonで文字列内の単語を逆順に並べ替える方法
Pythonでは、split()メソッドとreversed()関数を組み合わせることで、文字列内のすべての単語を簡単に逆順にすることができます。この記事では、具体的な手順とサンプルコードを通じて、その実装方法を解説します。 やりたいこと まず、入力と出力のイメージをサンプルで確認しましょう。 入力: string = I am a python programmer 出力: programmer python a am I 別の例も見てみます。 入力: string = tutorialspoint is a educational website 出力: website educatio
-
Pythonでリストをソートする方法をわかりやすく解説
Pythonのsortメソッドを使ったリストの並べ替えPythonでは、リストに対してsort()メソッドを呼び出すことで、要素を昇順に並べ替えることができます。内部的には、各クラスが持つ比較演算子(__gt__や__lt__)が使われており、文字列や数値などの組み込み型はあらかじめこれらが実装されているため、特別な設定なしに自動的にソートされた結果を得られます。実際の使用例を見てみましょう。words = [Hello, World, Foo, Bar, Nope] numbers = [100, 12, 52, 354, 25] words.sort() numbers.sort() p