【Python】リストの基本

Pythonには「リスト」という他のプログラミング言語でいう「配列」にあたるものがあります。

プログラムを作る上で、配列(やオブジェクト)を使わないことはあまりありません。この「リスト」の特性を見ていくことでリストの理解を深めていければと思います。

スポンサーリンク

コード部分の説明

下記コード内に出てくる「print」の後ろ、もしくは次行の「#」の後ろにprintで出力された結果を書いています。

リストの初期化

リストの初期化は 「 ,(※半角カンマ)」区切りの要素を「 [ ] 」で囲めばOKです。「 [ ] 」の記号を使う以外、特に注意点はありません。

数字

li = [1, 2, 3, 4, 5]
print(li) # [1, 2, 3, 4, 5]

数字の場合です。そのまま「,(※半角カンマ)」区切りでOKです。

文字列

li2 = ['a', 'b', 'c', 'd', 'e']
print(li2) # ['a', 'b', 'c', 'd', 'e']

文字列の場合は、「 ‘(※シングルクォーテーション)」または「”(※ダブルクォーテーション)」で各要素を囲います

辞書

li3 = [{'x': 3, 'y': 5, 'z': 4}, {'x': 5, 'y': 6, 'z': 7}, {'x': 3, 'y': 2, 'z': 1}]
print(li3)
# [{'x': 3, 'y': 5, 'z': 4}, {'x': 5, 'y': 6, 'z': 7}, {'x': 3, 'y': 2, 'z': 1}]

文字列だけではなく辞書もリストの要素にできます。どのような型でもリスト化できますね。
※「{‘x’: 3, ‘y’: 5, ‘z’: 4}」が辞書です

空リスト(要素なし)

li4 = []
print(li4) # []

空リストは「 [] 」の中身を空にすればOKです。

リストの要素にアクセス

リストの要素には1つ目から順番に「0」「1」「2」・・・という番号(※インデックスといいます)が割り振られています。

1つ目の要素にアクセスしたい場合は、「 [] 」で番号を指定します。「li [0]」←このような感じでアクセスができます。では、具体例を見てみます。

番号(インデックス)でアクセス

li2 = ['a', 'b', 'c', 'd', 'e']
print(li2[0]) # a
print(li2[1]) # b
print(li2[2]) # c
print(li2[3]) # d
print(li2[4]) # e

割り振られた番号(インデックス)を指定することで各要素にアクセスできます。一般的なアクセス方法です。

後ろからアクセス

li2 = ['a', 'b', 'c', 'd', 'e']
print(li2[-1]) # e
print(li2[-2]) # d
print(li2[-3]) # c
print(li2[-4]) # b
print(li2[-5]) # a

「-1」を指定することで、後ろから1番目(一番後ろ)の要素にアクセスすることができます。「-2」にすると後ろから2番目の要素にアクセスできます。

こんなとき便利!

最後の要素にアクセスしたいときに、とても便利ですね。他のプログラミング言語の場合だと、要素数から最後のインデックスを求めたり、専用の標準関数を使ったりする必要があります。

pythonの場合ですと、「-1」を指定するだけでよく直感的でもありますよね。個人的には好きです^^

リストの一部にアクセス

リスト内の一部を抜き出したリストにアクセスすることもできます。たとえば、[‘a’, ‘b’, ‘c’, ‘d’, ‘e’] の [‘b’, ‘c’, ‘d’] にアクセスができます。2番から4番の要素だけを抜き出したリストですね。

最初と最後のインデックスを指定

li2 = ['a', 'b', 'c', 'd', 'e']
print(li2[ 0:1 ]) # ['a']
print(li2[ 0:2 ]) # ['a', 'b']
print(li2[ 1:2 ]) # ['b']
print(li2[ 2:3 ]) # ['c']
print(li2[ 2:4 ]) # ['c', 'd']

「:(半角コロン)」を使って [ 2 : 4 ] と指定すれば、インデックス2~3([‘c’, ‘d’])のリストを抜き出せます。

ココに注意

「 : 」の前と後ろの数で開始のインデックスと終了のインデックスを指定します。開始のインデックスの要素は取り出しますが、終了のインデックスの要素は取り出しません。指定した1つ前のインデックスまでが取り出す対象です。

よって、終了のインデックスは取得したいインデックス+1を指定する必要があります。

覚え方

下記のような感じで番号を振ると覚えやすいかなと思います。

このようにイメージすると覚えやすい

 

それでは、最後までお読みいただきありがとうございました!

スポンサーリンク