Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのjoin()関数とは?リストや辞書を連結する使い方を徹底解説

本記事では、Python 3.x(およびそれ以前のバージョン)における join() 関数の実装方法と使い方について詳しく解説します。

まず、最も一般的な使用例として、リスト(イテラブル)に対する join() の活用方法を見ていきましょう。ここでは、区切り文字(デリミタ)を使ってリストの要素を連結します。区切り文字には任意の文字を指定できるほか、空文字列を指定することも可能です。

例1:区切り文字「->」でリストを連結する

# イテラブル(リスト)を定義
list_1 = ['t','u','t','o','r','i','a','l']

s = "->"  # 区切り文字を指定

# リストの要素を '->' で連結
print(s.join(list_1))

出力結果

t->u->t->o->r->i->a->l

次に、区切り文字に空文字列を指定して、リストの要素をそのまま連結してみます。

例2:空文字列で連結する

# イテラブル(リスト)を定義
list_1 = ['t','u','t','o','r','i','a','l']

s = ""  # 空の区切り文字

# リストの要素を '' で連結
print(s.join(list_1))

出力結果

tutorial

続いて、別の種類のイテラブルである辞書(ディクショナリ)を使って、キー同士を連結してみましょう。

例3:辞書のキーを連結する

# イテラブル(辞書)を定義
dict_1 = {'t':'u','t':'o','r':'i','a':'l'}
dict_2 = { 1:'u', 2:'o', 3:'i', 4:'l'}

s = " "  # 半角スペースで区切る

# 辞書のキーを ' ' で連結
print(s.join(dict_1))
print(s.join(dict_2))

出力結果

t r a
-------------------------------------------------------------
TypeError

join() を辞書に適用すると、デフォルトではキーが連結されます。dict_1 のキーはすべて文字列なので正常に動作しますが、dict_2 のようにキーが整数の場合は、join() が文字列以外の要素を受け付けないため TypeError が発生します。このような場合は、map(str, dict_2) のように要素をあらかじめ文字列へ変換しておくとよいでしょう。

なお、同じ手法はタプルやセットなど、他のイテラブルにもそのまま応用できます。

まとめ

本記事では、Python 3.x(およびそれ以前のバージョン)における join() 関数の基本的な使い方と、リスト・辞書などさまざまなイテラブルへの適用方法について学びました。join() をマスターすれば、文字列の連結処理を簡潔かつ効率的に記述できるようになります。ぜひ実際のコードでも活用してみてください。

  1. Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説

    本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値

  2. Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

    この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。構文<セット名>.intersection(<セットa1>, <セットa2>, …)戻り値引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。使用例set_1 = {t,u,t,o,r,i,a,l} set_2 = {p,o,i,n,t} set_3 = {t,u,t} # 2つの集合の積集合 print