Python リストの基本的な使い方とリストのメゾット 

リストの基本的な使い方

リストは以下のようにブラケット[]で囲って数字や文字列を配列の中に入れられます。

a = [1, 5, 6, 20, 8]
b = ['あ','い','う','え','お']

Pythonでは、スライスを使って配列に入っているデータの取り出しができます。

配列0から2までの値を取り出したい場合[0:3]というように

2つ目の値[3]は、取り出したい一つ後の配列の値インデックス(番地)を指定する。


配列とは

『配列』とは、数値や文字などを記憶しておくための媒体で複数の箱が連なっている。

(イメージ的にはタンスに連なった引き出しが複数あるイメージ)

一つの箱にはそれぞれの以下の画像のように0から始まるインデックス(番地のようなもの)が箱に割り当てられている。 この数値は、データの取り出しの際に使用する。

以下の画像の上の黒文字数値は配列の住所(番地)に当たるもので、の中の白文字の数値は変数の中に記憶している数値(データ)。

配列に入ったデータの取り出し

>>> 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])

実行結果

['う', 'え', 'お']

スポンサーリンク
スポンサーリンク
SNSフォローボタン

フォローする

シェアする

  • このエントリーをはてなブックマークに追加
スポンサーリンク
スポンサーリンク