shikoan’s memo

プログラミング初心者のチラ裏

ぷろぐらみんぐ帳

型の違う配列やTupleをjoinで文字列結合するときの注意

大丈夫だろうと甘く見ていたら怒られたのでメモ

Pythonは型にルーズなので、配列やTupleの中に文字列と数字が混在していても特に問題なし。例えば次のようなTupleは許容される。

a = (1,"a",2)

ところが文字列結合すると途端にうるさくなる。例えばこれですらダメ。

a = (1,"a",2)
s = ""
for i in a:
    s += i
print(s)
#    s += i
#TypeError: must be str, not int

str(i)とキャストが必要。joinで結合するときはもっと気づきにくいかもしれない。こうする必要がある。

a = (1,"a",2)
s = "".join(str(x) for x in a)
print(s)

ハマるときはハマるかもしれない。