プログラミングは面白い

プログラミングの事を中心に色々書いていきます

TypeError: sequence item 0: expected str instance, int found

あー、paizaのとある問題やってたらなんかまた初歩的なとこで引っかかった。
paizaは問題の回答書いちゃダメみたいなので、下記の私のミスはpaizaの問題がバレないように改変してあります。

リストの中身を結合させたかったので下記のように記述してみた所、エラーを吐くようで。

>>>test = [1, 2, 3, 4, 5]
>>>print(' '.join(test))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found

なんでや、と他の所をチェックするも特にミスが見当たらず。
ドツボにはまりながら原因を探っていたら、やっぱりここだった。
.join()は文字列じゃないと結合できないっていうのを忘れていた・・・

ちゃんとエラーを調べればすぐ分かったのになー。くそー。
はい、これが正解。

>>>test = ["1", "2", "3", "4", "5"]
>>>print(' '.join(test))
1 2 3 4 5

これはこうやったら出来るかな?みたいな部分の記述があると、エラーが出た時にそこを疑ってしまうんだよなぁ。
あー、やっぱりあそこがダメだったかー、と、勝手に解釈してしまう。
ちょっと当てずっぽうみたいな感じで書いちゃってるのが良くないのかな。
まぁ結果合ってるんだけど、理解してるとは言い難いですな。

エラーチェックを怠らない。
これ今日の教訓。