【Python入門】文字のリストを文字列に変換する方法
Pythonのjoin()メソッドとは
Pythonには、リストやタプルなどのシーケンスオブジェクトの要素を連結して1つの文字列を返す、組み込みのjoin()メソッドが用意されています。join()は、呼び出し元の文字列を「区切り文字」として要素間に挿入しながら連結を行います。そのため、区切り文字なしで単純に連結したい場合は、空文字列('')に対してjoin()を呼び出します。
基本的な使い方:区切り文字なしで連結する
以下の例では、文字のリスト ['h', 'e', 'l', 'l', 'o'] を空文字列で連結し、「hello」という1つの文字列に変換しています。
>>> lst=['h','e','l','l','o'] >>> str='' >>> str.join(lst) 'hello'
区切り文字を指定して連結する
要素間に特定の区切り文字を挿入したい場合は、その文字列に対してjoin()を呼び出します。たとえば、ハイフン(-)で連結すると次のようになります。
>>> lst=['h','e','l','l','o'] >>> '-'.join(lst) 'h-e-l-l-o'
カンマやスペースなど、任意の文字列を区切り文字として利用できるため、CSV形式のデータ作成や表示用テキストの整形などにも便利です。
注意点
join()は文字列型のメソッドであるため、必ず「文字列」側から呼び出す点に注意してください。また、サンプルコードでは変数名としてstrを使用していますが、strはPythonの組み込み型と同じ名前のため、実際の開発ではresultなど別の変数名を使うことが推奨されます。
-
Pythonで16進文字列をintに変換する方法をわかりやすく解説
Pythonで16進文字列をintに変換する基本 Pythonでは、組み込み関数 int() を使うことで、16進数の文字列を簡単に整数(int型)へ変換できます。16進文字列には一般的に「0x」というプレフィックスが付いており、その有無によって指定方法が少し異なります。 「0x」プレフィックスがある場合 文字列に「0x」プレフィックスが付いている場合は、int(文字列, 0) のように第2引数に 0 を指定します。こうすることで、Pythonがプレフィックスをもとに基数を自動的に判別してくれます。 >>> int(0xfe43, 0) 65091 「0x」プレフィックス
-
Pythonでリストの文字列表現をリストに変換する方法【ast.literal_evalの使い方】
Pythonでは、[apple, orange, banana] のように文字列として表現されたリストを、実際のリストオブジェクトへ変換したい場面があります。そんなときに便利なのが、標準ライブラリの ast.literal_eval() です。 ast.literal_eval()とは ast.literal_eval() は、文字列をPythonの式として安全に評価するための関数です。任意のコードを実行してしまう危険性がある eval() と異なり、評価できるのは文字列・数値・タプル・リスト・辞書・ブール値(True / False)、そして None といったPythonのリテラル構造のみ