リストの基本的な使い方
リストは以下のようにブラケット[]で囲って数字や文字列を配列の中に入れられます。
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])
実行結果
['う', 'え', 'お']
コメント