さつまろぐ

CAEとかプログラムとか、出来たことの記録など、誰かのお役に立てれば幸い。

Pythonで遊ぶ リストの操作2

リストオブジェクトには色々なメソッドが用意されている。 主なものと使い方のメモ

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]
広告