「pythonのリストを使用していて、似た機能がたくさんありすぎてよくわからない」
「リストってなんだか難しそう」
このようなお悩みをお抱えの方はいませんか?
自分も初めてリストについて知った時「難しそうだから一旦触れないでおこう」などとスルーした記憶がありますw
この記事ではこのような方のお悩みを少しでも解決できるようにpythonのリストの主な機能や使用方法について解説していきます。
リストとは?
そもそもリストとは何だろう?というところから解説していきます。
リストとは多数の要素を一つにまとめて管理することが可能なデータ型の事です。
通常ですとint型、str型というデータ型は一つの変数に一つの値を入れるように設計されています。
しかしそれでは効率の悪い時が出てきます。
例えば学校の全校生徒の5教科のテストの点数を変数に入れておきたいとなった場合、全校生徒×5教科文の変数を用意する必要が出てきます。
これでは変数を用意するだけでも大変です。
そのような時にこのリストでは一つのリストを用意するだけで、後はそこにすべて、もしくは教科ごとに点数を入れておくだけで使用可能となります。
下記のような感じでリストを5つ用意するだけで全校生徒の5教科の点数をすべて入れることが可能となります。
nat_lang=[50,45,78,90・・・]
math=[65,78,12,87・・・]
English=[66,45,95,81・・・]
science=[23,67,73,93・・・]
society=[34,61,59,69・・・]
このようにリストはとても使い勝手のいいデータ型であるということを分かっていただけたかと思います。
リストの使用方法
次にリストの使用方法について解説していきます。
リストは主に下記のように初期化します。
a1=[]
a2=list()
上記は2つともリスト内になんの値も入れずに初期化したものとなります。
データを入れたものは下記のように記述します。
b=[1,2,3,4,5]
次にリスト内のデータをとる出す方法ですが、リストは配列とかと同様左から0,1,2・・・のように添字が与えられています。
ここで添字とは配列やリスト等の一つ一つの値が入っている箱に与えられている名前のようなもので、下記のようになっています。
そして個別に値を取得したい場合はb1[0]=1、b1[1]=2、・・・のように記載することでアクセス可能となります。
因みにこれも配列と同様ですが、値の入っていない添字を記載するとエラーとなりますので、要素数には注意が必要です。
一番後ろの要素は基本的に要素数-1で求めることができますので、この点は覚えておくことをオススメします。
またリストの特徴として配列と異なり、リスト内の要素のデータ型は下記のように異なってもエラーにはなりません。
c=[100,"Japan",200,"India"]
リストで使用可能な機能類
ではリスト内にデータを追加したり削除したりする機能を一通りご紹介していきます。
- 追加(append、insert)
- 削除(remove、clear、del)
- 検索(in演算子)
- それ以外の機能(スライス、要素数のカウント)
追加(append、insert)
まずリストに要素を追加する機能についてご紹介します。
追加する機能のものは主に2つあります。
append
appendはリストの末尾に指定した要素を追加することができます。
使用方法としては下記のようになります。
d=["abc","def","ghi","jkl"]
d.append("mno")
このコードを実施するとリストは[“abc”,”def”,”ghi”,”jkl”,”mno”]となります。
ただこのappendメソッドでは好きな位置に要素を追加することができませんので、少し不便です。
その不便を解消してくれるのが次でご紹介するinsertです。
insert
insertはリストの指定位置に値を追加することができるメソッドです。
使用方法として下記のようになります。
e=["abc","def","ghi","jkl"]
e.insert(3,"GHI")
上記ですと添字が3の所に「GHI」という文字列を追加するというものです。
そのためリストの中身は[“abc”,”def”,”ghi”,”GHI”,”jkl”]のようになります。
insertは第一引数に追加する位置を第二引数に追加する値を入力することでリストに値を追加することが可能です。
削除(remove、clear、del)
次はリストの要素を削除してくれる機能についてご紹介します。
remove
removeは指定した要素を削除してくれます。
f=["abc","def","ghi","jkl"]
f.remove("def")
上記コードですと削除後のリストは[“abc”,”ghi”,”jkl”]と「def」を削除されたものとなります。
因みに下記のように要素が同様のものが複数ある場合は先頭から始まって最初に見つけたもののみ削除します。
g=["abc","def","abc","jkl"]
g.remove("abc")
上記ですとg[0]に入っている「abc」のみ削除され[“def”,”abc”,”jkl”]というリストができます。
clear
clearはリスト内にある要素をすべて削除してくれます。
h=["abc","def","ghi","jkl"]
h.clear()
上記のように使用することでリストhは[]のように中身をすべて削除してくれます。
その変数自体が削除されるわけではないため、また値の追加等を行うことができます。
使用しなくなったリストの中身を削除して新しいリストとして再利用する際などに使用します。
del
delは指定範囲内の要素を削除してくれます。
i=["abc","def","ghi","jkl"]
del i[1:3]
上記ですとリストは[“abc”,”jkl”]となります。
範囲指定は[削除する始めの要素の添字:削除する最後の要素の添字-1]となります。
また一つの要素だけ削除したいとなった場合はその要素の添字のみ記載するだけで削除可能です。
j=["abc","def","ghi","jkl"]
del j[1]
上記で「def」のみ削除されて[“abc”,”ghi”,”jkl”]というリストができます。
検索(in演算子)
次は要素の検索方法についてです。
検索はリスト内に検索したい要素があるかどうかをbool型のtrue、falseで判定してくれるものです。
k=["abc","def","ghi","jkl"]
print("def" in k)
上記コードですと「def」はリスト内にあるためtrueという結果が出力されます。
それ以外の機能(スライス、要素数のカウント)
最後にスタイスと要素数のカウントについてご紹介します。
スライス
スライスとはリストから指定範囲内の要素を別のリストとして取り出すことができる機能の事です。
l1=["abc","def","ghi","jkl"]
l2=l1[1:3]
これでl2=[“def”,”ghi”]という新しいリストを作成することができます。
使用方法としてdelと同じ方法で、[削り取りたい要素の最初の添字:削り取りたい要素の最後の添字-1]となります。
要素数のカウント
最後にご紹介するのは要素数を数えてくれるlen関数というものです。
m1=["abc","def","ghi","jkl"]
m2=len(m1)
上記の結果は4となります。
使用方法はとても簡単で「len(要素数を数えたいリスト)」です。
まとめ
この記事ではpythonのリストについて下記手順で解説してきました。
- リストとは?
- リストの使用方法
- リストで使用可能な機能類
リストの機能は多岐にわたりますが、一つずつ使い慣れていけば大丈夫です。
使っていれば結構簡単に覚えることが可能ですので、どんどん使っていきましょう。
以上で今回の解説は終了となります。
コメント