目次
Python のリストの連結の際に気をつけること。
環境
- Python 3.4.3
- Ubuntu 15.04
破壊的か否か
Python でリストの連結をする方法は2つあります。 extend
を使う方法と、 演算子 +
を使う方法です。
1 2 3 4 5 6 7 8 9 |
l = [1, 2, 3] r = l.extend([4, 5]) # l => [1, 2, 3, 4, 5] # r => None l = [1, 2, 3] r = l + [4, 5] # l => [1, 2, 3] # r => [1, 2, 3, 4, 5] |
両方ともリストを連結しますが、 使い方は異なります。
- extend
- リスト自身を拡張する時に使います。
- 戻り値は
None
です。
- 演算子
+
- 2つのリストから新しいリストを作るときに使います。
- 戻り値は連結後のリストです。
- 連結元のリストは変更されません。
このように、extend
は破壊的なため、使い方を間違えると思わぬ事故に陥ります。