要素の並べ替え
sort()
リスト関数のsort()は、その場でリスト自体をソートする。
>>> marxes = ['Groucho', 'Chico', 'Harpo']
>>> marxes.soort()
>>> marxes
['Chico', 'Groucho', 'Harpo']
sorted()
汎用関数のsorted()は、ソートされたリストをコピーを返す。
>>> marxes = ['Groucho', 'Chico', 'Harpo']
>>> sorted_marxes = soorted(marxes)
>>> sorted_marxes
['Chico', 'Groucho', 'Harpo']
sorted_marxesはコピーであり、これを作ってもオリジナル
のリストは変更されない。
=の代入とcopy()によるコピー
>>> a = [1, 2, 3]
>>> b = a
>>> a[0] = 'surprise'
この時、bも変更される。
これは、bはaと同じリストオブジェクトを参照している
a,bのどちらの名前を使ってリストの内容を書き換えても
その操作は両方に反映される。
次の方法を使えば、リストの値を独立の新しいリストにコピー
することができる。
- リストのcopy()関数
- list()h変換関数
- リストスライス[:]
- >>> b = a.copy()
- c = list(a)
- d = a[:]
bcdはaのコピーであり、それぞれ自分の値をもつオブジェクトです