【Python初心者入門】リストの取扱説明書 初級編①リスト型の基本機能

スポンサーリンク

はじめに

PythonにもRubyなどと同じような配列クラスがあり、リスト型と呼びます。

リスト型にもメソッドがたくさん用意されており、いつでも振り返られるように使い方をまとめておこうと思います。

初心者の方は是非ブックマークしておいてください!

クマくん
クマくん

Pythonでは配列をリスト型っていうんだね〜

さめさん
さめさん

言語によって言い方が違うのが面白いよね。

リスト型とは

Pythonのドキュメントにも記述がありますが、複数のデータを格納するためのデータ型のことをリスト型と呼びます。

Pythonは多くの 複合 (compound) データ型を備えており、複数の値をまとめるのに使われます。最も汎用性が高いのは リスト (list) で、コンマ区切りの値 (要素) の並びを角括弧で囲んだものとして書き表されます。リストは異なる型の要素を含むこともありますが、通常は同じ型の要素のみを持ちます。

Pythonドキュメント3.9.0

JavaScriptやRubyでは配列型と言うかと思います。

定義も大体の言語と同じです!1つの言語を学ぶと似たような定義の仕方をするのでわかりやすいですよね!も

>>> list = [1, 2, 3, 4, 5]
>>> list
[1, 2, 3, 4, 5]

リスト型の基本機能

スライス

リスト型も文字列と同じようにインデックス番号を指定したりして一部をスライスしたりすることができます。

インデックス番号を-1で指定すると最後が選択。

数字:数字で指定した部分をそのまま切り取ってきます。

スライスには最初と最後を省略することが可能です!便利!

>>> list = [1, 2, 3, 4, 5]

# インデックス番号を指定
>>> list[0]
1

>>> list[-1]
5

# スライス
>>> list[0:2]
[1, 2, 3]

>>> list[2:4]
[3, 4, 5]

>>> list[2:]
[3, 4, 5]

足し引き

リスト型のデータの値を増やしたり減らしたりする方法は様々あります!

まずは増やす方法としては以下があります。

  1. 数式の + で増やす
  2. リストの最後に追加したい場合はappendメソッド
  3. 指定の場所に追加したい場合はinsertメソッド
 
クマくん
クマくん

数式の+ で足し引きできたけど、aに入ってないよ?

さめさん
さめさん

お、いいところに気づいたね!

a + bの数式の返り値の結果が足されているってことだからね。

その場合はまた別の変数に入れるか、またaに再代入するんだよ!

>>> a = [1, 2, 3, 4, 5]
>>> b = [6, 7, 8, 9, 10]

# + で増やす
>>> a + b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 数式の + で増やしてもaに値が追加されている訳ではないので注意
>>>a
[1, 2, 3, 4, 5]

# 足した結果をまた再利用したい場合は変数に格納する
>>> x = a+ b
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# aに再代入する
>>> a += b
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
さめさん
さめさん

insertメソッドは第一引数にインデックス番号を指定して、第二引数に入れたい値を記述するんだよ!

>>> a = [1, 2, 3, 4, 5]
>>> b = [6, 7, 8, 9, 10]

# appendメソッド
>>> a.append(10)
[1, 2, 3, 4, 5, 10]

# insertメソッド
# insertメソッドの第一引数にどの場所に挿入するか指定、第二引数に入れたい値を記述する
>>> b.insert(0, 1)
[1, 6, 7, 8, 9, 10]

減らす方法としては以下があります。

  1. インデックス番号を指定して削除したい場合はpopメソッド
  2. インデックス番号を指定して削除したい場合はdelメソッドも可能
  3. 値を選択して削除したい場合はremoveメソッドを使う
クマくん
クマくん

popメソッドはデフォルトでは一番後ろの値を削除するんだ。

さめさん
さめさん

popメソッドに引数を入れると指定したインデックス番号の値を削除してくれるよ!

>>> a = [1, 2, 3, 4, 5]
>>> b = [2, 3, 5]

# popメソッド
>>> a.pop()
5
>>> a
[1, 2, 3, 4]

# popメソッド 引数指定
>>> b.pop(1)
3
>>> b
[2, 5]

delメソッドは指定した引数のインデックス番号の値を削除します。

delメソッドは非常に強力で指定の仕方を間違えてしまうと変数そのものも消してしまうので注意しましょう。

>>> a = [1, 2, 3, 4, 5]

# delメソッド
>>> del a[-1]
>>> a
[1, 2, 3, 4]

# delメソッドで変数を消してしまった場合
>>> del a
>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

removeメソッドは引数に入っている値を探して削除します。

もしなかった場合はエラーが表示されます。

>>> a = [1, 2, 3, 3, 4, 5]

# removeメソッド
>>> a.remove(3)
>>> a.remove(3)
>>> a
[1, 2, 4, 5]

# この時点で3がないので次removeメソッドを使うとエラーが表示されます。
>>> a.remove(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

入れ替え

リスト型はスライスを利用して一部のデータを変更することが可能です!

まずは具体的な例を見てみましょう。

>>> a = [1, 2, 3, 4, 5]

# aの2から4を入れ替えたい場合
a[1:3] = [100, 200, 300]

>>> a
[1, 100, 200, 300, 4, 5]

上記のように指定したインデックス番号の部分をそっくりそのまま入れ替えています。

元の値の数と入れ替えたい値が足りなければ足りない部分の元の値は変更ので注意してください。

>>> a = [1, 2, 3, 4, 5]

# aの2から4を入れ替えたい場合
a[1:3] = [1001, 200]

>>> a
[1, 1001, 200, 300, 4, 5]

終わりに

リスト型の基本機能まとめ
  • 足し引きは数式も使える
  • 各メソッドの引数に注意しよう!
  • 使いたいシーンに応じて使い分けよう!
たくさん出てきたけど、徐々に使えるシーンを増やしていこう

Pythonの学習に関しては様々本屋には書籍が並んでいますが、下記がおすすめです。

EXCELなども使ったことのない初学者の方

EXCELなどでちょっとPCの操作に慣れている方

他のプログラミング言語を少し触ったことがある方

タイトルとURLをコピーしました