リストの操作

リスト(配列)が非常に便利に実装されている。リストに代入できるのは数値、文字、リスト、オブジェクトとなる。

リストの作成
リストを作成するにはカンマ区切りでラージブラケット"[]"で囲んで変数に代入するだけで作成される。
a=['a','b','c']
aにはaとbとcという文字列が入ったリストが作成される

リストのインデックス参照
リストの内容をインデックスで参照するにはラージブラケットでインデックス番号を指定する。インデックスの先頭は0になる。
a=['a','b','c']
i=a[1]
iには'b'が入る
参照方法は先頭からの位置を指定する場合は正の整数値、末尾からの位置を指定する場合は負の整数値を指定する。末尾からの参照の場合、末尾の文字を表すインデックスが-1となり、末尾から2文字目を表すインデックスは-2となる。
a=['a','b','c']
i1=a[1]
i2=a[-1]
i1には'b'が入りi2には'c'が入る

リストのスライス
リストの一部を取得する場合はラージブラケットの中に開始値と終了値をコロンで区切って指定する。先頭、末尾を指定する場合は何も入力しない。終了位置は開始位置で指定するインデックス+1となるのに注意が必要。
a=['a', 'b', 'c', 'd', 'e']
a2=a[1:2]
a3=a[3:]
a4=a[:3]
a5=a[-2,-1]
a6=a[:]
a2には['b']、a3には['d','e']、a4には['a','b','c']、a5には['d','e']、a6には['a', 'b', 'c', 'd', 'e']が入る

リストの要素数を取得
リストの要素数を取得するには len を利用する。
a=['a', 'b', 'c', 'd', 'e']
i=len(a)
iには5が入る。

リストの内容を書き換える
リストの内容を書き換える際はインデックスを指定して1要素を変更する方法とリストのスライス指定をして複数要素を変更する方法がある。
a=['a', 'b', 'c', 'd', 'e']
a[0]='A'
a[1:2]=['B1','B2']
aの中は['A', 'B1', 'B2', 'c', 'd', 'e']となる。
a[1]=['B1','B2']
とした場合はa[1]にリスト['B1','B2']が入り、['A', ['B1', 'B2'], 'c', 'd', 'e']となる。

リストへの追加
リストの末尾に要素を追加するには append を利用します。
a=['a', 'b', 'c', 'd', 'e']
a.append('f')
a,append(['g','h'])
aは['a', 'b', 'c', 'd', 'e', 'f',['g', 'h']]となる
リストとしてではなく要素として追加したい場合は extend を利用します。
a=['a', 'b', 'c', 'd', 'e']
a.extend(['f','g','h'])
aは['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']となる

リストの結合
リストの結合を行うには複数のリストを + でつなぎます。
a1=['a', 'b', 'c']
a2=['d', 'e']
a=a1+a2
aは['a', 'b', 'c', 'd', 'e']となる

リストへの挿入
リストへ要素を挿入するには insert を利用します。第一パラメタが挿入先のインデックスで第二パラメタが挿入する値になります。
a=['a', 'b', 'c']
a.insert(1, 'X')
aは['a', 'X', 'b', 'c']となる

リストの削除
リストの要素を削除するには del を利用します。範囲指定を行うことも可能です。
a=['a', 'b', 'c', 'd', 'e']
a.del[1]
aは['a', 'c', 'd', 'e']となる
リストの要素をインデックス指定で削除するには pop を利用します。インデックスを指定しなかった場合は末尾が削除されます。
a=['a', 'b', 'c', 'd', 'e']
a.pop(1)
aは['a', 'c', 'd', 'e']となる
オブジェクトを削除するには remove を利用することで検索の手間が省けます。
a.remove(オブジェクト名)

リスト内の検索
リスト内のどの位置にあるかインデックスを求めるには index を利用します。
a=['a', 'b', 'c', 'd', 'e']
i=a.index('c')
iには2が入る。
存在のみを確認するには in (否定は not in )を利用します。
a=['a', 'b', 'c', 'd', 'e']
i='b' in a
iには True が入ります。
リスト内に指定されたオブジェクトがいくつあるか知るには count を利用します。
a=['a', 'b', 'c', 'a', 'a']
i=a.count('a')
iには3が入ります。

Comments