イテラブルオブジェクト
while文をやったので次はもう一つの繰り返し文(for文)の解説と行きたいところですが、その前にfor文で使用されるイテラブルオブジェクトについて解説します。
イテラブルオブジェクトとは、繰り返し処理可能なオブジェクトのこと
オブジェクトは、データをある程度一つのまとまりとして表現したもの
まずオブジェクトは、これはまで使用したstr型やint型などのデータのことを言います。
このオブジェクトという言葉に関しては最初のうちはなかなかイメージがつきにくいものですが、プログラミングをしていくうちにだんだんと、どんなものか掴めてきます。
最初のうちは一つのまとまりと思っておけば問題ありません。
イテラブルオブジェクトは、繰り返し処理可能なオブジェクトと記載しましたが、もっと大雑把に言うとfor文で使用できるオブジェクトです。
イテラブルオブジェクトには以下のようなものがあります。
・str型
・リスト
・辞書
・タプル
…etc
この中でfor文で使うのためにとりあえず知っておくべき、リストについて解説します。
その他の辞書・タプルに関してfor文の次に解説します。
リストとは
リストとは、他のプログラミング言語で 配列 と呼ばれるものと同じような性質を持ちます。
一つの変数に対して、複数の要素を格納することができるオブジェクトです。
リストの使い方は以下の通りです。
変数 = [要素1, 要素2, 要素3...]
実際にプログラムで例を見ていきましょう。
コード
# 変数宣言
list_test = ["一個目", "二個目", "三個目", "四個目"]
# 出力
print(list_test)
実行結果
['一個目', '二個目', '三個目', '四個目']
変数list_test に対して、「一個目」 「二個目」 「三個目」 「四個目」 と4つの値を格納しています。
値は 0番目から順番 に格納されていきます。
0から3の数字を インデックス と呼び、このインデックスを使うことで、個々の値を出力することが可能です。
個々の値を扱う時は
変数名[インデックス]
と記載します。
一つ一つ出力してみましょう。
コード
# 変数宣言
list_test = ["一個目", "二個目", "三個目", "四個目"]
# 出力
print(list_test[0])
print(list_test[1])
print(list_test[2])
print(list_test[3])
実行結果
一個目
二個目
三個目
四個目
これまで通りに値を代入することも可能です。
コード
# 変数宣言
list_test = ["一個目", "二個目", "三個目", "四個目"]
# 出力
print(list_test)
# 代入
list_test[1] = "にこめ"
# 出力
print(list_test)
実行結果
['一個目', '二個目', '三個目', '四個目']
['一個目', 'にこめ', '三個目', '四個目']
リストの操作
要素の追加
要素を追加するには insert() を使用します。
変数名.insert(挿入場所, 要素)
コード
# 変数宣言
list_test = ["一個目", "二個目", "三個目", "四個目"]
# 出力
print(list_test)
# 要素追加
list_test.insert(0,"零個目")
# 出力
print(list_test)
実行結果
['一個目', '二個目', '三個目', '四個目']
['零個目', '一個目', '二個目', '三個目', '四個目']
0番目に「零個目」を挿入したことにより、元々入っていた値は一つずつ後ろにずれます。
要素の削除
要素を削除するには del を使用します。
del 変数名[インデックス]
コード
# 変数宣言
list_test = ["一個目", "二個目", "三個目", "四個目"]
# 出力
print(list_test)
# 要素削除
del list_test[1]
# 出力
print(list_test)
実行結果
['一個目', '二個目', '三個目', '四個目']
['一個目', '三個目', '四個目']
1番目に格納されていた「二個目」を削除したことで、それ以降の値が一つずつ前にずれます。
要素数の出力
リストの中に要素がいくつ格納されているかを確認するためには len() を使用します。
len(変数名)
() の中で指定した変数の要素数を返してくれます。
コード
# 変数宣言
list_test = ["一個目", "二個目", "三個目", "四個目"]
len_list_test = len(list_test)
# 出力
print(list_test)
print(len_list_test)
実行結果
['一個目', '二個目', '三個目', '四個目']
4
この len() はwhile文を書くのに便利です。
次の練習問題でwhile文を使用した問題を出しているので、挑戦してみてください。
練習問題
問題1
リスト [“りんご”, “バナナ”, “みかん”] を変数に格納し、while文を用いてターミナルに表示するプログラムを作成せよ。
個々の値を扱う時は
変数名[インデックス]
でした。
このインデックスは0番目から順番に表示されます。
while文の条件式を 「要素数 – 1」以下ならにして、このインデックスの部分を繰り返しで表現しましょう。
コード
# 変数宣言
list_fruits = ["りんご", "バナナ", "みかん"]
len_list_fruits = len(list_fruits)
count = 0
# 値を表示
while count <= len_list_fruits - 1:
print(list_fruits[count])
count = count + 1
※ コードは解答例です。正解は一つではありません。
whileの条件式は「count < len_list_fruits」でも問題ありません。