Pythonのリスト型
リスト型とは複数の値を1つの変数としてまとめて扱うデータ型です。他のプログラミング言語では似たような機能として「配列」と呼ばれることがありますが、厳密にはリストは配列とは異なります。
リストを作るにはカンマで区切った値を角括弧 [ ] で囲います。それぞれの値を「要素」と呼び、それぞれの要素には先頭から順番に0から始まるインデックス番号が付けられます。
そのため、リストの要素の数は、インデックス番号の最後の番号+1と同じになります。
リストの要素には数値や文字列だけでなくPythonが扱える全ての値を設定できます。また、データ型が異なっていても1つのリストに格納することが可能です。
設定済みのリストへの値の追加、更新、削除を行うこともできます。
リストを利用していると、そのリストにどのようなデータの情報を知りたい場面が出てきます。
プログラム中でよく使われる機能では「リストに含まれる要素の数」、「指定した値が格納されているかの確認」、「インデックス番号に対応する要素の確認」、「要素に対応するインデックス番号の確認」などがありますが、これらも簡単に参照できる仕組みが用意されています。
リストの書き方
リストは角括弧 [ ]で値を囲うことで作成できます。
また、値を設定せずに [] だけを書くことで空のリストを作ることも可能です。
1 2 3 |
list = [1, 2, 3, 'AAA', 4, 'B', 5] list = [] |
リストへの値の追加
設定済みのリストへの値の追加はappend関数を利用します。append関数はリストの一番後ろ(右端)に値を追加します。
1 2 3 |
list = [1, 2, 3] list.append(4) print(list) |
実行結果
[1, 2, 3, 4]
リストの値の更新
設定済みのリストの値の更新は、更新する値のインデックス番号に対して値の代入を行います。
1 2 3 4 5 |
list = [1, 2, 3] # インデックス番号0(リストの先頭)の要素を5に更新 list[0] = 5 print(list) |
実行結果
[5, 2, 3]
リストの値の削除
設定済みのリストの値の削除は削除の仕方によっていくつかの方法があります。
リストの全要素削除
リストの要素をすべて削除する場合はclear関数を使います。
1 2 |
list = [1, 2, 3, 1, 2, 3] list.clear |
リストの指定値削除
指定した値を削除する場合はremove関数を使います。同じ値が複数存在する場合は一番左の値だけが削除されます。
1 2 3 |
list = [1, 2, 3, 1, 2, 3] list.remove(1) print(list) |
実行結果
[2, 3, 1, 2, 3]
リストの指定インデックス範囲削除
インデックス番号で指定範囲を削除する場合はdel関数を使います。
1 2 3 4 5 |
list = [1, 2, 3, 1, 2, 3] del list[0] print(list) del list[1:3] print(list) |
実行結果
[2, 3, 1, 2, 3]
[2, 2, 3]
リストの指定インデックス削除
インデックス番号で指定した値を削除し、その値を取得する場合はpop関数を使います。値は取得しなくても構いません。
1 2 3 |
list = [1, 2, 3, 1, 2, 3] print(list.pop(1)) print(list) |
実行結果
2
[1, 3, 1, 2, 3]
リストの要素の数を取得する
リストに含まれる要素の数を調べる場合はlen関数を利用します。
1 2 |
list = [1, 2, 3, 1, 2, 3] print(len(list)) |
実行結果
6
リストの値(要素)を参照する
リストの値(要素)にはインデックス番号が振られています。インデックス番号は「添え字」ともいいます。
リスト変数[インデックス番号] の書き方で要素を参照できます。
以下は4つの要素を持つリストの2番目(インデックス番号=1)の要素を参照するコードです。
1 2 3 |
a = [1, 111, 'a', 'AAA'] b = a[1] print(b) |
実行結果
111
リストのインデックス番号範囲を参照する
リストのインデックス番号の範囲を指定して値を参照することも可能です。このような範囲指定で参照する方法を「スライス」や「スライス構文」と言います。
書き方は リスト変数[インデックス番号:インデックス番号] です。コロンの左右のインデックス番号はどちらか一方だけを指定することも可能です。
[1:3]の場合はインデックス番号1以上、3未満を意味します。
コロンの左右のインデックス番号の一方だけを指定する場合は、[1:]の場合はインデックス番号1以上、[:4]の場合はインデックス番号4未満を意味します。
1 2 3 |
a = [1, 111, 'a', 'AAA'] c = a[1:3] print(c) |
実行結果
[111, ‘a’]
リストの値からインデックス番号を参照する
リストの要素からインデックス番号を参照するにはindex関数を利用します。index関数の引数には値を設定します。リストに存在しない値を設定した場合はエラーになります。値が存在するかどうかが不明の場合はindex関数を利用する前に後述のin演算子を利用するなどでエラーを回避してください。
リストの要素「111」のインデックス番号を取得するサンプルです。
1 2 |
a = [1, 111, 'a', 'AAA'] print(a.index(111)) |
実行結果
1
リスト内に値があるかを確認する
リスト内に指定した値が存在するかどうかを確認するにはin演算子を利用します。存在していればTrue、存在していなければFalseを返します。
1 2 3 |
list = [1, 2, 3, 1, 2, 3] print(1 in list) print(4 in list) |
実行結果
True
False
次にやること
次のページでは、タプル型の基本について紹介します。
次ページ:Pythonのタプル型の基本
前ページ:Pythonの数値型の基本