リストオブジェクトには色々なメソッドが用意されている。 主なものと使い方のメモ
append
appendメソッドは、引数をリストの最後に追加する。
>>> x = [1,2,3] >>> x.append(4) >>> x [1, 2, 3, 4]
clear
clearメソッドは、リストの内容をすべて消去する。
>>> x = [1,2,3] >>> x.clear() >>> x []
copy
リストを複製するには、copy( )
を使う。
>>> x = [1,2,3] >>> y = x.copy( ) # .copy( ) でコピー >>> y [1, 2, 3] >>> y[1] = 10 >>> x ; y [1, 2, 3] #x と yは別のリスト [1, 10, 3]
通常の代入では、同じリストを別の名前に結び付ける(バインドする)だけ。これは間違えそうだ。
>>> x = [1,2,3] >>> z = x # 「=」で代入 >>> z [1, 2, 3] >>> z[1] = 20 >>> x ; z [1, 20, 3] # x も変更されている。xとzは同じリストを示している。 [1, 20, 3]
count
count
は、ある要素がリスト内に何回出現するかを出力する。
>>> x = [1, 2, 3, 1, 4, 5, 1, 3, 5] >>> x.count(1) 3 >>> moji = ["aa","bb","cc","aa","dd"] >>> moji.count("aa") 2
extend
extend
メソッドは、引数に与えたシーケンスを、元のシーケンスの末尾に追加する。
>>> aa = [1,2,3] >>> bb = [4,5,6] >>> aa.extend(bb) >>> aa [1, 2, 3, 4, 5, 6]
元のシーケンス(上記ではaa
)自体が変更されていることに注意。
index
index
メソッドは、与えた引数の要素が、元のシーケンスの最初に出てくるインデックスを返す。
要素が元のシーケンスにない場合はエラー。
>>> x = [1,2,3,4,5,4,3,2,1] >>> x.index(3) 2 >>> x.index(9) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 9 is not in list
insert
リストに要素を挿入する。
x.insert(n, y)
で、リストxのインデックスnに、yを挿入する、となる。
>>> x = [1,2,3,4,5,6] >>> x.insert(3,10) >>> x [1, 2, 3, 10, 4, 5, 6]
pop
pop
メソッドは、引数に指定された要素をリストから削除し、削除した要素を返す。
引数に何も入れない場合(デフォルト)は、リストの最後の要素を削除する。
>>> x = [1,2,3,4,5,6,7,8,9] >>> x.pop() 9 >>> x [1, 2, 3, 4, 5, 6, 7, 8] >>> x.pop(3) 4 >>> x [1, 2, 3, 5, 6, 7, 8]
remove
remove
メソッドは、指定された引数のうち、最初に出現した要素を削除する。
>>> x = [1,2,3,4,5,4,3,2,1] >>> x.remove(3) >>> x [1, 2, 4, 5, 4, 3, 2, 1]
reverse
reverse
メソッドは、リストの要素を逆順にする。
>>> x.reverse() >>> x [5, 4, 3, 2, 1]