リストの追加でよく間違えるので、整理していきます。
append()メソッドとは
引数に渡された値をリストの末尾に渡します。
例
test1.py
>>> my_list = [1, 2, 3]
>>> my_list.append(4)
>>> my_list
[1, 2, 3, 4]
extend()メソッドとは
引数に渡された別のリストを追加してリストを拡張します。
例
test2.py
>>> my_list = [1, 2, 3]
>>> my_list.extend([4])
>>> mylist
[1, 2, 3, 4]
間違えるケース①
- リストを拡張したいのに、appendでリストを渡してしまう。
例
test3.py
# 自分がしたいこと
>>> my_list = [1, 2, 3]
>>> my_list.extend([4, 5])
>>> my_list
[1, 2, 3, 4, 5]
# appendを使ってしまい、一つの要素として追加してしまう
>>> my_list = [1, 2, 3]
>>> my_list.append([4, 5])
>>> my_list
[1, 2, 3, [4, 5]]
間違えるケース②
- extendで要素を渡して、エラーを起こす。
例
test4.py
>>> my_list = [1, 2, 3]
>>> my_list.append(4)
>>> my_list
例外が発生しました: TypeError
'int' object is not iterable
File "C:\Users\...\test3.py", line 2, in <module>
my_list.extend(4)
間違えるケース③
- 文字列の場合、appendで追加するが、extendだと一文字ずつ追加される。
例
test5.py
#自分がしたいこと
>>> my_list2 = ['dog', 'cat']
>>> my_list2.append('bat')
>>> my_list2
['dog', 'cat', 'bat']
#上記をextendと間違える
>>> my_list2 = ['dog', 'cat']
>>> my_list2.extend('bat')
>>> my_list2
['dog', 'cat', 'b', 'a', 't']
以上
この記事が自分の初投稿となります。
記事の内容で、おかしな所や訂正箇所があれば、
ご指摘いただければ修正していきます。
コメント頂ければ、幸いです。