Pythonのリスト操作には様々なメソッドがありますが、その中でもextend
メソッドは特に便利です。しかし、このメソッドを使うときには注意が必要です。なぜなら、extend
メソッドはリストを拡張するだけでなく、None
を返すからです。
list1 = ['hi', 'how', 'are', 'you', 'googl']
ok = ['item22']
list1 = list1.extend(ok)
print(list1) # Noneが出力される
上記のコードでは、list1
というリストにok
というリストを追加しようとしています。しかし、print(list1)
の結果はNone
となります。これは、extend
メソッドがリストを直接変更する(インプレースで操作する)ためです。
extend
メソッドは、元のリストに対して変更を加え、その結果を返すのではなく、元のリスト自体を変更します。そのため、extend
メソッドの結果を再度リストに代入すると、None
が代入されることになります。
この問題を解決するには、extend
メソッドを呼び出した後にリストを再代入しないようにします。
list1 = ['hi', 'how', 'are', 'you', 'googl']
ok = ['item22']
list1.extend(ok)
print(list1) # ['hi', 'how', 'are', 'you', 'googl', 'item22']が出力される
このように、extend
メソッドを正しく理解し、適切に使用することで、Pythonでのリスト操作がよりスムーズになります。