ちなみにこっちは重箱の隅

Python にはスライスという概念があって、リスト型の途中に別のリストを挿入する簡単な構文がある。例えば、あるリスト a = [1, 2, 5] の途中にリスト [3, 4] を挿入するには、a[2:2] = [3, 4] とすれば良い。しかし、ここで右辺式にはリストを指定しなくてはいけないのがポイントだ。(当たり前だ)
しかし、どうもリストを期待する構文で文字列を指定すると、文字列が文字単位で分割されてリストになってしまうのだー。知ってました? だからこんなことになる!

>>> a=[4, 5, 6]
>>> a[:0] = 3
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: can only assign an iterable
>>> a[:0]='23'
>>> a
['2', '3', 4, 5, 6]
>>> a[:0]=[1]
>>> a
[1, '2', '3', 4, 5, 6]