リストの基本的な使い方
リストは以下のようにブラケット[]で囲って数字や文字列を配列の中に入れられます。
a = [1, 5, 6, 20, 8] b = ['あ','い','う','え','お']
Pythonでは、スライスを使って配列に入っているデータの取り出しができます。
配列0から2までの値を取り出したい場合[0:3]というように
2つ目の値[3]は、取り出したい一つ後の配列の値インデックス(番地)を指定する。
配列に入ったデータの取り出し
>>> a = [1, 10, 5, 2, 3] #変数aに1 10 5 2 3 の値を入れる >>> a #まずは、aに入っている値を確認する [1, 10, 5, 2, 3] >>> a[0] #配列0番地の値を取り出す 1 >>> a[1] #配列2番地の値を取り出す 10 >>> a[-1] #一番最後配列の値を取り出す 3 >>>
配列のスライスも使える。
>>> a = [1, 10, 5, 2, 3] #変数aに1 10 5 2 3 の値を入れる >>> a[0:2] #配列0番地から2番地の一つ前までの値を取り出す [1, 10] >>> a[:2] #0を省略するには:を入れる。この場合最初から2番地の一つ前までの値を取り出す [1, 10] >>> a[2:4] #配列2番地から4番地の一つ前までの値を取り出す [5, 2] >>>
リストのメソッド
| | append(self, object, /) | Append object to the end of the list. | | clear(self, /) | Remove all items from list. | | copy(self, /) | Return a shallow copy of the list. | | count(self, value, /) | Return number of occurrences of value. | | extend(self, iterable, /) | Extend list by appending elements from the iterable. | | index(self, value, start=0, stop=9223372036854775807, /) | Return first index of value. | | Raises ValueError if the value is not present. | | insert(self, index, object, /) | Insert object before index. | | pop(self, index=-1, /) | Remove and return item at index (default last). | | Raises IndexError if list is empty or index is out of range. | | remove(self, value, /) | Remove first occurrence of value. | | Raises ValueError if the value is not present. | | reverse(self, /) | Reverse *IN PLACE*. | | sort(self, /, *, key=None, reverse=False) | Stable sort *IN PLACE*. |
append
リストの最後にオブジェクトを追加します。
>>> g = [1, 2, 3, 4, 5, 6, 7] >>> g.append(100) >>> g [1, 2, 3, 4, 5, 6, 7, 100] >>>
clear
リストからすべてのアイテムを削除します。
a = [1 ,2, 3, 4, 5] a.clear() print(a)
実行結果
[]
copy
リストの浅いコピーを返します。
a = [1 ,2, 3, 4, 5] b = a.copy() b[0] = 100 print('a =',a) print('b =',b)
実行結果
a = [1, 2, 3, 4, 5] b = [100, 2, 3, 4, 5]
count
値の出現回数を返します。
a = [1, 2, 3, 4, 5, 1, 2, 3] print(a.count(3)) #3がいくつ入っているか print(a.count(5)) #5がいくつ入っているか
実行結果
2 1
extend
iterableから要素を追加してリストを拡張する
>>> a = [1, 2, 3, 4, 5] >>> b = [6, 7, 8, 9, 10] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>>
index
値の最初のインデックスを返します。値が存在しない場合、ValueErrorを送出します。
a = [1, 2, 3, 4, 5, 1, 2, 3] print(a.index(3)) #3が入っているインデックスを調べる print(a.index(3, 3)) #3番目以降の3が入っているインデックスを調べる
実行結果
2 7
insert
インデックスの前にオブジェクトを挿入します。
以下のサンプルはインデックス0の前に50を挿入。
g = [1, 2, 3, 4, 5, 6, 7] >>> g.insert(0, 50) >>> g [50, 1, 2, 3, 4, 5, 6, 7] >>>
pop
インデックスのアイテムを削除して返す(デフォルトは最後)
リストが空であるか、インデックスが範囲外の場合、IndexErrorを送出します。
デフォルト()の場合は最後を取り出します。
g = [1, 2, 3, 4, 5, 6, 7] >>> g.pop() 7 >>> g [1, 2, 3, 4, 5, 6] >>>
始めの値を取り出したい場合は0を入れる
>>> g = [1, 2, 3, 4, 5, 6] >>> g.pop(0) 1 >>> g [2, 3, 4, 5, 6]
以下のようにdelでも消せますが間違って del g のように
remove
値の最初の出現を削除します。
値が存在しない場合、ValueErrorを送出します。
>>> g = [1, 2, 3, 4, 5, 6, 7] >>> g.remove(2) >>> g [1, 3, 4, 5, 6, 7] >>>
もう一度「2」を消そうとすると値が入っていないので「ValueError」となります。
>>> g = [1, 2, 3, 4, 5, 6, 7] >>> g.remove(2) >>> g [1, 3, 4, 5, 6, 7] >>> g.remove(2) Traceback (most recent call last): File "", line 1, in ValueError: list.remove(x): x not in list >>>
reverse
* IN PLACE *を逆にします。
a = [1, 2, 3, 4, 5, 1, 2, 3] a.sort(reverse=True) print(a) a.reverse() print(a)
実行結果
[5, 4, 3, 3, 2, 2, 1, 1] [1, 1, 2, 2, 3, 3, 4, 5]
sort
安定したソート* IN PLACE *。
a = [1, 2, 3, 4, 5, 1, 2, 3] a.sort() print(a)
実行結果
[1, 1, 2, 2, 3, 3, 4, 5]
文字列からリスト型に変換
文字列をリスト型に変換するには以下のように記述します。
a = list('あいうえお') print(a)
実行結果
['あ', 'い', 'う', 'え', 'お']
また、スライスを使って取り出しも可能
a = list('あいうえお') print(a[2:5])
実行結果
['う', 'え', 'お']
コメント