Python勉強会 リストの使い方を簡単にざっくりと紹介 ~リストってなに~

どうも!リョクちゃです。

今回は、シーケンス型のひとつである”リスト”について触れていきます。

Pythonにおけるリストの使い方や使用例を主にまとめていきます。

ちなみに前回は、制御構文(while文)についてまとめていました。

Pythonにおける基礎文法の一つである、While文について簡単に例を交えながら紹介しています。ForやWhileでどっち使おうか悩んだりするときってあると思います。そんな悩みが解決できるような助けをできればと思っています。

スポンサーリンク




リストって何??

リストとは、Pythonではシーケンス型の一つとして扱われます。
また、ほかの言語においては、”配列”ともいわれています。

下に特徴をまとめると、

  • 複数の値をまとめるのに使われます。
  • リスト内の要素が変更可能な変数の型となります。
    変更可能な型を”ミュータブル”な型
    変更不可な型を”イミュータブル”な型
    とそれぞれ呼ばれています。
  • カンマ区切りの要素の並びを角かっこ”[,]”で囲んで表記します。

リストの構造を図にしてみると下のようになります。(おそらく)

絵では変数Xに角かっこで囲んだリストを代入しています。
リストが代入された変数をここでは、リスト変数として扱います。
これをPythonで書くと、

ちなみにリスト内では、数値や文字列、リスト等を混在させることも可能です。

リスト内の要素が変更可能な変数の型

リストはPythonにおいては、ミュータブルな型として扱われると記述しました。
これがなんなのかというと、

例えば、リスト変数Xに格納された0番目の値をほかの値に変更したい場合

このような変更を行いたい場合、ミュータブルな型では変更することが可能です。

リストの値を抽出

リスト中のある要素を抽出したい場合、

下のような記法で抽出をすることが可能です。

X[インデックス]

これをもとにコードで書くと、

イメージだと、こんな感じになりますね。

※ インデックス外の番号を指定するとエラーになってしまうので注意が必要です。

例えば、X[4]をしてしまうと、エラーが発生します。

リストに値を追加 : .append

リストに値を追加したい場合、

リスト変数.append(“追加したい値”)

と表記することで追加ができます。

例えば、

これを下のようにすることで、

リストに格納することが可能です。

コードで書くと、

リストの任意の箇所に値を格納 : .insert

リストの任意の箇所に値を追加したい場合は、

リスト変数.insert(“追加する場所”, “追加したい値”)

と表記することで出来ます。

例えば、

これを下のようにすることで、

リストの任意の箇所に値を追加することができます。

※ >insertしたらインデックスが変わるので注意

コードで書くと、

空きのリストの作り方

格納する値も決まってないけど、リスト変数の宣言をしたいときは、

下のように書きます。

例えば、こんな時にリスト変数をあらかじめ宣言していないと、

これは、変数xが偶数であれば、リスト変数lstXに追加するといった処理になります。
しかし、実行してみるとエラーになってしまいます。

→ lstXは定義されていませんよ。というエラーで、
定義されていない未知の変数がどういった変数なのかもわからないから、
エラーが発生しています。

これを回避する場合に、あらかじめ空のリストを宣言してやる必要があります。

for文の前に空リストとして変数lstXを宣言してあげることで、

エラーは発生しなくなりました。

まとめ

表記記述例内容
リスト変数.append(追加したい値)X.append(‘Bike’)リストの末尾に新規値を追加
リスト変数.insert(挿入したいインデックス、追加したい値)X.Insert(1,’Bike’)リストの指定したインデックスに値を追加
リスト変数[インデックス]X[0]リストの0番目の値を抽出
リスト変数[インデックス]=置き換えたい値X[0] = ‘Bike’リストの0番目の値を’Bike’に置き換える
リスト変数=[]X = []空のリストの作成(初期化の宣言など)

練習問題

① リスト変数[9,3,20,-7]が与えられます。

リスト内の値の総和を求め、出力して下さい。

② 1~10までをリストに格納した後、それぞれの値を2乗した値を出力して下さい。

回答

おわりに

リストについて簡単な使い方を例を交えて触れていきました。

リストは、Pythonでは非常によく使われるので

覚えておいてもらえたらなと思います。
筆者もよくリストは使っています。

例えば、画像解析や機械学習、深層学習においてはリストは必須になるので、
覚えておいて損はありません!

リストについては、細かくピックアップして記事にしようかと思います。

最後までお読みいただきありがとうございます。

スポンサーリンク




スポンサーリンク
スポンサーリンク