Pythonでリストに要素を追加しようとして「list.append() takes exactly one argument」というエラーが発生した際の対処法について解説します。このエラーは、append()メソッドに複数の引数を渡そうとした時に発生する典型的なエラーです。

エラーメッセージ

TypeError: list.append() takes exactly one argument (2 given)

原因

append()メソッドは一度に1つの要素しか追加できないという仕様があります。複数の要素を同時に追加しようとすると、このエラーが発生します。

誤った使用例

numbers = [1, 2, 3]
numbers.append(4, 5)  # エラー発生

正しい使用例

要素を1つずつ追加する場合:

numbers = [1, 2, 3]
numbers.append(4)  # 正しい使用法
numbers.append(5)  # 正しい使用法
print(numbers)  # 出力: [1, 2, 3, 4, 5]

複数要素を追加したい場合の解決策

1. extendメソッドを使用する:

numbers = [1, 2, 3]
numbers.extend([4, 5])
print(numbers)  # 出力: [1, 2, 3, 4, 5]

2. +=演算子を使用する:

numbers = [1, 2, 3]
numbers += [4, 5]
print(numbers)  # 出力: [1, 2, 3, 4, 5]

append()メソッドの主な特徴

  • 1つの要素のみを追加可能
  • リストの末尾に要素が追加される
  • 元のリストを直接変更する(破壊的操作)
  • 戻り値はNone

よくある使用例

# 文字列の追加
words = ['Hello']
words.append('World')
print(words)  # 出力: ['Hello', 'World']

# リストの追加
nested = [[1, 2]]
nested.append([3, 4])
print(nested)  # 出力: [[1, 2], [3, 4]]

# タプルの追加
mixed = [1, 2]
mixed.append((3, 4))
print(mixed)  # 出力: [1, 2, (3, 4)]

まとめ

  • append()は1回の呼び出しで1つの要素のみ追加可能
  • 複数要素を追加したい場合はextend()または+=演算子を使用
  • append()は最も一般的なリスト操作の1つ
  • 適切な使用法を理解することで、効率的なリスト操作が可能

append()メソッドを正しく使用することで、Pythonのリスト操作をより効果的に行うことができます。エラーが発生した場合は、引数の数を確認し、必要に応じて代替手段を検討してください。