リストとは
変数には,数値や文字列などのデータを代入しますが,通常は 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])
結果
く
練習:要素の添え字を指定して文字を連結し,「おかし」と表示してみましょう。