それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

配列の途中に要素を追加・配列に要素(配列)を追加してlist に足して行く方法

python のlist に要素を追加するには

要素を追加するには append が使える

a = [1,2,3]
a.append(1)
print a #->[1, 2, 3, 1]

python のlist の途中に要素を追加するには

配列の途中に、要素を追加するには、 insert が使える。

a = [1,2,3]
a.insert(1, 'a')
print a #->[1, 'a', 2, 3]

配列の途中に、要素 を追加するには

ちょっと面倒くさいんだけど、要素の真ん中に配列を追加するとき

a = [1,2,3]
a.insert(1, ['a', 'b'])
print a #->[1, ['a','b'] ,2 , 3 ]

これは、これで正しいのだけれど、この結果は殆どの人が望まないと思う。 殆どの場合で、[1, 'a','b' 3, 1]を期待するよね。

配列の途中に配列を追加して、新しい配列を作る。

slice で index を使うと上手くいくんですね。

a = [1,2,3]
a[1:1] = ['a', 'b']
print a #->[1, 'a','b' ,2 , 3 ]

これは以外に気付かずに、 for や list comprehensions でflatten したり、insert 複数回呼び出しとかヤっちゃうんですよね。

注意しないといけないよね。Python Documentation に書いてあるのにね。

参考資料

3. An Informal Introduction to Python — Python 3.5.2 documentation