Beyond The Limit

はじまりは2001年

Python学習メモ3

文字列の続き、リスト

append()

末尾に要素を追加する。

extend()

リストの結合をする。

+= リスト名でも同じことができる。

insert()

位置を指定して様子を追加する。

insert(2, 'aaa')といった使い方をする、2がオフセット。

del

オフセットを指定して要素を削除する。

del aaa[1]といった使い方をする、delは文なのでaaa[1].del()とは書かない。

remove

値を指定して要素を削除する。

aaa.remove('A')といった使い方をする、Aが消える。オフセット位置が分からない場合などに利用。

pop

要素を取り出して削除する、取り出すので代入も可能。

In [20]: aaa = ['A','B','C']
In [21]: bbb = aaa.pop(0)
In [22]: bbb
Out[22]: 'A'

index

値を指定してオフセットを確認。

aaa.index.('A')といった使い方をする、Aのオフセットを返す。

in

値がリストの中に存在するかどうかを返す、同じものが複数存在している場合は1箇所でも同じものがあればTrueを返す。

In [38]: 'A' in aaa
Out[38]: True

count

特定の値がリスト内に何個含まれているかを返す。

aaa.count('探したい文言')などで検索する

sort/sorted

並べ替えをする、sortは元のデータを書き換える、sortedは元のデータを書き換えない

sortedの例

In [61]: aaa
Out[61]: ['ABC', 'XYZ', 'TW']

In [62]: sorted(aaa)
Out[62]: ['ABC', 'TW', 'XYZ']

In [63]: aaa
Out[63]: ['ABC', 'XYZ', 'TW']   並べ変わっていない

sortの例

In [63]: aaa
Out[63]: ['ABC', 'XYZ', 'TW']

In [64]: aaa.sort()

In [65]: aaa
Out[65]: ['ABC', 'TW', 'XYZ']   元のデータが並べ変わっている

In [67]: aaa.sort(reverse=True) reverse=Trueを付けると逆順になる

In [68]: aaa
Out[68]: ['XYZ', 'TW', 'ABC']

len

要素の数を返す

len(aaa)というように使う

=とcopy

リストの場合"="は代入なので、元が変わるとそれにつられて他のものも変わる

ただし通常の変数代入の場合はつられて変わらない

In [1]: aaa = ['A','B','C']

In [2]: aaa
Out[2]: ['A', 'B', 'C']

In [3]: bbb = aaa

In [4]: bbb
Out[4]: ['A', 'B', 'C']

In [5]: aaa[0] = '1'    リストaaaの0番目を1に変更

In [6]: aaa
Out[6]: ['1', 'B', 'C'] 0番目が1になっている

In [7]: bbb
Out[7]: ['1', 'B', 'C'] 元のデータが変わっているのでbbbも変わっている

In [8]: bbb[1] = 'Z'    bbbの1番目をZに変える

In [9]: bbb
Out[9]: ['1', 'Z', 'C']

In [10]: aaa
Out[10]: ['1', 'Z', 'C']    元のaaaの1番目もZに変わっている

copy関数、list()変換関数、リストスライスでコピーすると元の値が変わっても影響を受けない

In [11]: a = ['1','2','3']

In [12]: a
Out[12]: ['1', '2', '3']

In [13]: b = a.copy()   copy関数

In [14]: b
Out[14]: ['1', '2', '3']

In [15]: c = list(a)    list()変換関数

In [16]: d = a[:]   リストスライス

In [17]: a[0] = '8' 元データの0番目の値を変更

In [18]: a
Out[18]: ['8', '2', '3']    変わってる

In [19]: b
Out[19]: ['1', '2', '3']    影響なし

In [20]: c
Out[20]: ['1', '2', '3']    影響なし

In [21]: d
Out[21]: ['1', '2', '3']    影響なし