目次
join
前回、Pythonのmatplotlibで凡例をグラフエリアの外に表示する方法を紹介しました。
【matplotlib】凡例をグラフエリアの外に表示する方法[Python]
matplotlib 前回、Pythonのmatplotlibで凡例のタイトルや枠線の表示・変更方法、背景色の変更方法を紹介しました。 今回は凡例をグラフエリアの外に表示する方法を紹介…
今回はリスト内の要素(文字列)を結合するjoin関数を紹介します。
もし文字列が複数入ったリストがあり、その要素を結合させるにはどうするでしょうか。
とりあえず私ならfor文を使ってこんな感じで結合させます。
list1 = ["a", "b", "c"]
result = ""
for l in list1:
result = result + l
print(result)
実行結果
abc
さらにそれぞれの文字列の間に特定の文字を追加したい場合、ならこんな感じで結合させます。
list1 = ["a", "b", "c"]
sep = ", "
result = ""
for l in list1:
result = result + l + sep
result = result.rstrip(sep)
print(result)
実行結果
a, b, c
今回紹介するjoin関数を知らず、for文で結合させる場合、大体こんな感じになるのではないかなと思います。
このようなリストの要素(文字列)の連結を簡単に行えるのが「join関数」です。
join関数の使い方
join関数の使い方は少し特殊で「”間に入れる文字列”.join(リスト)」とすると、リスト内の要素を「間に入れる文字列」を挟んだ形で連結してくれます。
list1 = ["a", "b", "c"]
print(", ".join(list1))
実行結果
a, b, c
この際に「間に入れる文字列」をなし、つまり「””.join(リスト)」とすると単純にリスト内の要素を結合してくれます。
list1 = ["a", "b", "c"]
print("".join(list1))
実行結果
abc
気をつけること
ただ気をつけるのは引数にできるのはあくまでも「文字列で要素が構成されたリスト」のみです。
例えば数値(int) で構成されたリストの場合はエラーがでます。
list2 = [1, 2, 3]
print("".join(list2))
実行結果
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[15], line 3
1 list2 = [1, 2, 3]
----> 3 print("".join(list2))
TypeError: sequence item 0: expected str instance, int found
もちろんstr型の数字であれば結合はできますが、計算(足し算)ではないことに注意です。
list3 = ["1", "2", "3"]
print("".join(list3))
実行結果
123
そして文字列と数値(int型など)が混ざったリストでもエラーがでます。
list4 = ["a", 2, "c"]
print("".join(list4))
実行結果
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[17], line 3
1 list4 = ["a", 2, "c"]
----> 3 print("".join(list4))
TypeError: sequence item 1: expected str instance, int found
bool値(True/False)でもエラーになります。
list5 = ["a", True, "c"]
print("".join(list5))
実行結果
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[19], line 3
1 list5 = ["a", True, "c"]
----> 3 print("".join(list5))
TypeError: sequence item 1: expected str instance, bool found
ということでリストに文字列として要素が格納されており、それらを結合させたい場合にはjoin関数はなかなか便利だと思いますので、ぜひ活用してみてください。
次回はnumpyを使った行列計算に関して紹介します。
ではでは今回はこんな感じで。
コメント