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'] 影響なし