リストのスライスメモ

  • L[:] 要素の値コピー。ただし入れ子になってるのは参照になる。
>>> l = [1,2,3]
>>> a = l # 参照コピー
>>> a
[1, 2, 3]
>>> l.append(4) # リストlを変更する
>>> l
[1, 2, 3, 4]
>>> a
[1, 2, 3, 4]  # リストlにともなって、値が変わっている
>>> a = l[:]  ##### 値コピー
>>> l.append(5) # リストlを変更しても
>>> l
[1, 2, 3, 4, 5]
>>> a
[1, 2, 3, 4]    # リストaは変わらない
  • L[::-1] リストを逆順にする。list(reversed(L))より簡単に書ける。
>>> l[::-1] #####逆順にする
[5, 4, 3, 2, 1]
>>> reversed(l)  # reversed()はイテレーティブオブジェクトが返る
<listreverseiterator object at 0x01F79F30>
>>> list(reversed(l))
[5, 4, 3, 2, 1]