値をひとまとめにしたグリープを「リスト」といいます。
今回はリスト作成に役立つ関数や操作方法をみていきましょう。
リスト内の特定の値を指定して表示する
1週間の曜日をリストにし、リストの中の指定した順番の要素を表示するプログラムを書きます。
リストの変数名のあとに[ ]を置き、要素のインデックス番号を指定すればリスト内の特定の値を表示することができます。
①月曜~日曜を「week」というリストに入れる
②1番目の要素を表示
IDELで実行してみると図1のようになります。
「あれ?月じゃないの?」と思った方もいると思います。
リストの中の値は「0」からインデックス番号が振り分けられています。
イメージとしては図2の赤文字ようになります。
リストの値を更新する
リストのインデックス番号を指定して「=」を利用することで、該当するインデックスの値を更新することができます。
①月曜から日曜までのリスト「week」を作成
②インデックス番号3を「木曜」に更新
IDELを用いて表示すると図3
リスト内に指定した値があるか判断する
作成した曜日リスト「week」の中に指定した値があるか調べてみましょう。
リスト内のあるか判断したい値を置き、その後ろに「in」置き、さらにうしろにリストの変数名を置きます。
IDELで表示すると図4のようになります。
「月」はリスト内にあるのでTrue
「林」はリスト内にないのでFalse
リスト内の指定した範囲から値を取り出す
リストのインデックス番号を範囲で指定して表示する、「スライス」をみていきましょう。
リスト[開始インデックス:終了インデックス]と書くと、開始インデックスから終了インデックスの直前までの要素をリストとして取り出すことができます。
まずは基本的な例から、
①月曜から日曜までのリスト「week」を作成
②インデックス番号1からインデックス番号4までを取りだして表示
IDELを用いて表示すると図5
やや応用、
①月曜から日曜までのリスト「week」を作成
②インデックス番号4以上を取り出して表示
③インデックス番号2以下を取り出して表示
[4:]なら4以上、[:3]なら2以下という扱いになります
IDELを用いて表示すると図6
値をスキップしながら表示
リスト内の範囲を指定しながら、値をスキップすることもできます。
リストの変数名のあとに置く[ ○:○:○]内の1つ目&2つ目の数字で取り出す範囲を指定し、3つ目の数字でいくつずつスキップするのかを指定します。
①月曜から日曜までのリスト「week」を作成
②インデックス番号0からインデックス番号6までを取り出し、2つ飛ばしで表示
IDELを用いて表示すると図7
インデックスを右端から数える
インデックス右端から番号を数える場合は、番号に「-」(マイナス)を付けます。
インデックス左端から番号を数える場合は「0」からですが、右端から数える場合は「-1」からはじまります。
①月曜から日曜までのリスト「week」を作成
②インデックス番号-4からインデックス番号-2までを取り出して表示
IDELを用いて表示すると図8
append( )関数を用いてリストに要素を追加する
値を追加するときはapped( )という関数を使います。
リストの変数名のあとに「.」(ドット)を付けて「append( )」を書きます。
既存のリストweekに「月曜」と「火曜」を追加して表示してみましょう。
①月曜から日曜までのリスト「week」を作成
②append( )を用いて「月曜」を追加
③append( )を用いて「火曜」を追加
④リスト「week」を表示
IDELをもちいて表示すると図9
del文を使用し指定した要素を削除する
インデックス番号で値を指定してリストの値を削除するには、del文を使います。
表記は「del」のあとにリストの変数名を置き、[ ]でインデックス番号を指定します。
既存のリストweekから「日」を削除して表示するプログラムを書いてみましょう。
①月曜から日曜までのリスト「week」を作成
②インデックス番号6を削除
③リスト「week」を表示
IDELを用いて表示すると図10
remove( )関数を用いてリストから値と一致する最初の要素を取り除く
remove( )関数を用いてリスト内の値を指定して削除してみましょう。
表記はリストの変数名のあとに「.」(ドット)を置き、「remove( )」を続けて、()内に削除したい値を入れます。
既存のリストweekから「日」を削除して表示するプログラムを書いてみましょう。
①月曜から日曜までのリスト「week」を作成
②remove( )関数を用いて、値「日」を削除
③リスト「week」を表示
IDELを用いて表示すると図11
len( )関数を用いてリストの長さを調べる
len( )関数を用いるとリスト内にどれだけの値が入っているかを調べることができます。
既存のリストweekのリスト内にどれだけ値が入っているか表示してみましょう。
①月曜から日曜までのリスト「week」を作成
②「week_len」という変数を置き、リストweek内にどれだけ値が入っているかを抽出
③リスト「week_len」を表示
IDELを用いて表示すると図12
まとめ
リスト型を利用する際に役立つ関数や操作について確認しました。
長いプログラムを書いていて、リストの値更新や、リスト内の確認をする際など用途は様々です。
いろいろ実践して慣れていきましょう。
コメント