Pythonのリストには、要素を追加するためのメソッドがいくつかあります。その中でも、extend
メソッドは特に便利で、別のリストを追加してリストを拡張することができます。
my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list) # Output: [1, 2, 3, 4, 5]
しかし、extend
メソッドと似たメソッドであるappend
メソッドとの違いを理解していないと、思わぬバグを生むことがあります。
例えば、リストを拡張したいのに、append
でリストを渡してしまうと、リスト全体が一つの要素として追加されてしまいます。
my_list = [1, 2, 3]
my_list.append([4, 5])
print(my_list) # Output: [1, 2, 3, [4, 5]]
また、extend
メソッドは引数にイテラブル(繰り返し可能な)オブジェクトを取るため、単一の要素を渡すとエラーが発生します。
my_list = [1, 2, 3]
my_list.extend(4) # TypeError: 'int' object is not iterable
さらに、文字列を追加する場合も注意が必要です。append
メソッドで文字列を追加すると、文字列全体が一つの要素として追加されますが、extend
メソッドを使うと、文字列が一文字ずつ分解されて追加されます。
my_list = ['dog', 'cat']
my_list.extend('bat')
print(my_list) # Output: ['dog', 'cat', 'b', 'a', 't']
以上のように、extend
メソッドとappend
メソッドの違いを理解することは、Pythonでリストを扱う上で非常に重要です。適切なメソッドを選択することで、意図した通りの操作を行うことができます。.