リスト

リストとは

変数には,数値や文字列などのデータを代入しますが,通常は 1 つのデータを扱います。しかし,たくさんのデータを変数に代入して(別名をつけて)おきたい場合もあります。 そのような場合は,複数の数値や文字列データをリスト型として定義することができます。それぞれのデータのことを「要素」といいます。

複数のデータをリストとして代入する

リスト型としてデータを代入するには, 変数名 = [要素1,要素2,要素3,...] と書くことで,リスト型として定義できます。 変数名の付け方

文字列を代入したいときには,文字列を '文字列' のように「'」(シングルクォーテーション)で囲みます。 数値を代入するときには「'」 は必要ありません。

tokuten = [67, 45, 78, 32, 65, 80]
print(tokuten)

結果

[67, 45, 78, 32, 65, 80]

juunishi = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']

添え字

リストの各要素には,代入されるときに自動的に連番が付与されています。この連番のことを「添え字」といって,要素を取り出すときに使われます。 通常人間は連番を降るとき 1 から始めますが,コンピュータの場合は「0」から始まるのが普通です。 添え字の連番は「0」から始まることに注意してください。 各要素は変数名[添え字]として指定できます。

例. 要素を取り出す

juunishi = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
print(juunishi[1])

結果 (1 番目のデータではないことに注意)

例. 要素を使って計算する

tokuten = [67, 45, 78, 32, 65, 80]
print(tokuten[0] + tokuten[1])

結果 (67+45)

112
tokuten = [67, 45, 78, 32, 65, 80]
goukei = sum(tokuten)
print(goukei)

結果 リスト内の要素の合計

367

リストの要素を変更する

一度定義したリストは,要素を上書きして変更したり,追加,削除したり,リスト同士を連結したりすることができます。

例. 要素の上書き

一度代入したリスト型データのうち,一部を変更したい場合,添え字を指定して書き換えることができます。

fruits = ['りんご', 'みかん', 'バナナ']
print(fruits)
fruits[1] = 'オレンジ'
print(fruits)

結果

['りんご', 'みかん', 'バナナ']
['りんご', 'オレンジ', 'バナナ']

例. 要素の追加

すでに定義してあるリストの末尾に,リスト名.append(追加する要素)で,新たなデータを追加します。append は「追加」という英単語です。

fruits = ['りんご', 'みかん', 'バナナ']
print(fruits)
fruits.append('ぶどう')
print(fruits)

結果

['りんご', 'みかん', 'バナナ']
['りんご', 'みかん', 'バナナ', 'ぶどう']

例. 要素の削除

すでに定義してあるリストの中から,del リスト[添え字]で,ある要素を削除します。del は delete(削除)の略です。

fruits = ['りんご', 'みかん', 'バナナ', 'ぶどう']
print(fruits)
del fruits[2]
print(fruits)

結果

['りんご', 'みかん', 'バナナ', 'ぶどう']
['りんご', 'みかん', 'ぶどう']

リストの連結

すでに定義されているリストを新しいリスト名 = リスト名1 + リスト名2で新たなリストを作成することができます。

undoubu = ['野球', 'サッカー', 'バスケ', 'バレー']
bunkabu = ['吹奏楽', '書道', '演劇', '写真']
bukatu = undoubu + bunkabu
print(bukatu)

結果

['野球', 'サッカー', 'バスケ', 'バレー', '吹奏楽', '書道', '演劇', '写真']

2次元のリスト

複数のデータをまとめてリストを作成しましたが,「表」のように縦横 2 次元のデータをリストにするにはどうしたらよいでしょうか。 例えば 3 行 5 列のデータをリストにするには,まず 1 行にある 5 つの要素をひとまとまりのリストと考えます。それを 3 行分,3 つのまとまりを 3 つの要素として考え,リストとします。リストが入れ子になっているようなものです。

例. 2次元のリストを作成する

添え字[0][1][2][3][4]
リスト[0]
リスト[1]
リスト[2]

上記の表を2次元のリストにしてみましょう。 hiragana という変数に,それぞれ 5 つデータを持つリストを 1 つの要素と考え,3 つの要素(リスト)を定義します。

hiragana = [
  ['あ', 'い', 'う', 'え', 'お'],
  ['か', 'き', 'く', 'け', 'こ'],
  ['さ', 'し', 'す', 'せ', 'そ']
]

このデータを指定するにはどうしたら良いでしょう。 これも添え字で指定します。まず,3 つの大きなまとまりとしてのリストの添え字を指定し,続けてその中の 5 つのデータを添え字で指定します。

例. 2次元のリストから要素を取り出す

「く」は大きなまとまりとしては添え字[1]にあります。(添え字は[0]から始まります。) 更に,その中の添え字[2]が取り出したい要素「く」です。

print(hiragana[1][2])

結果

練習:要素の添え字を指定して文字を連結し,「おかし」と表示してみましょう。