ご覧いただきありがとうございます。
この記事は、Python初心者の方に優しく解説したものです。
今回はコンテナ(リスト)についてです。
早速学習を進めていきましょう。
Google Colaboratoryを開いて学習の準備をしてください。
Google Colaboratoryの導入は、こちらの記事で分かりやすく説明されているので参考にしてください。
コンテナ
コンテナって何でしょう。
私たちの世界にも存在しますよね。
そう、四角の形をした入れ物ですね。
プログラミングでもそんな感じの意味で使われます。
でも、ただの入れ物というよりは、きちんと整理整頓をするための入れ物という認識の方がよいかもしれません。
プログラミングでは、データを扱うので、そのデータを整理整頓するための入れ物、それがコンテナです。
全3つのコンテナのうち、この記事では1つ目のコンテナである「リスト」の学習をしていきます。
リスト
リストはみなさんもなじみがある言葉ですね。
プログラミングでいうところのリストとやらは、
好きな順番でオブジェクトを保存しておくためのコンテナです。
リストは、角カッコで表現されます。
なにかリストを作成したかったら、次のようにコードを入力します。
x = ["おはよう","こんにちは","こんばんは"]
x
このように、「おはよう、こんにちは、こんばんは」の順番で作成したリストは、
出力されるときも、「おはよう、こんにちは、こんばんは」の順番です。
コンピュータは私たちが入力した順番に左からリスト内の要素を出力します。
append(新しい要素の追加)
x = ["おはよう","こんにちは","こんばんは"]
x.append("さようなら")
x.append("おやすみ")
x
こちらのコードは、さきほどのコードで示したリストに、
「さようなら」と「おやすみ」を追加する目的で記すコードです。
リストに新しい要素を追加したいときは、
変数「.append」(“〇〇”)
というように入力すればよいです。
このコードで追加される要素は、リストの一番右側、すなわちリストの最後に追加されていきます。
したがって、上のコードでは、
「おはよう、こんにちは、こんばんは、さようなら、おやすみ」
という順番で出力されます。
リストには様々なオブジェクトを格納できる
ここまで文字列の要素のみのリストを紹介してきましたが、
どのようなオブジェクトでも格納できます。
x = [False,10,0.1,"こんにちは"]
x
このように、様々なオブジェクトが同時に格納されていても、
問題なく出力されます。
インデックス
コンテナに格納されている要素(オブジェクト)は、インデックスがあります。
すなわち、各要素に番号のラベルが貼ってあるといったイメージです。
リストの左から右へ、順番に0、1、2、3、…
といったように要素には番号が割り振られています。
一番左の要素のインデックスは「0」です。
重要なのでもう一度、
一番左の要素のインデックスは「0」。
x = ["おはよう","こんにちは","こんばんは"]
x[0]
リスト内の要素を部分的に出力させたいときは、
変数[インデックス番号]
で出力できます。
上のコードでは、「おはよう」のみが出力されます。
1回の出力で、取り出したい要素すべて出力したい場合は、
x = ["おはよう","こんにちは","こんばんは"]
print(x[0])
print(x[1])
print(x[2])
というように、print()で
変数[インデックス番号]
を囲めば出力されます。
上のコードでは、
おはよう
こんにちは
こんばんは
といったように縦に1つずつ出力されます。
リストはミュータブルが可能である
リストの中の要素は、変更可能です。
変更可能のことをミュータブルというので、
リストはミュータブル可能であると言います。
リストというコンテナはミュータブル可能ですので、
リスト内のオブジェクトを追加したり削除したり自由自在です。
こちらのコードを見てみましょう。
x = ["おはよう","こんにちは","こんばんは"]
x[2] = "さようなら"
x
このコードの2行目では、
インデックス番号2、すなわち「こんばんは」の要素を「さようなら」に変更して出力する、
という操作です。
したがって、出力結果は、
「おはよう、こんにちは、さようなら」
となります。
このように、インデックス番号でリストの位置を指定すれば、自由に要素を入れ替えることができます。
popメソッドで末尾の要素を削除
まずはこちらのコードを見ていただきましょう。
x = ["おはよう","こんにちは","さようなら"]
y = x.pop()
x
2行目にあるように、
変数「.pop()」を使えば、
1番右側の要素を削除することができます。
したがって、上のコードでは、
「おはよう、こんにちは」
という出力結果となります。
最後の要素だけ削除したかったらpopメソッドだと記憶しておきましょう。
リストの連結
こちらのコードをみてください。
pp = ["pineapple","pen"]
ap = ["apple","pen"]
pp + ap
このコードでは1行目のリストと2行目のリストを足すことで、
2つのリストを連結することができます。
・・・・
クスっと笑ってくれた人はきっといい人ですね。
リスト内の要素をin演算子で検索
こちらのコードをみてください。
x = ["おはよう","こんにちは","こんばんは"]
"こんばんは" in x
このコードは、xのリストの中に、「こんばんは」という要素があるのかどうかを調べるためのコードです。
このコードでは、リストの中に「こんばんは」があるので、
出力は「True」という結果になります。
このように、リストの中から要素を探し出すときは、
要素 「in 変数」という構文をとります。
覚えておきましょう。
リストの中に要素が入っているかを検索することもできますし、入っていないかどうかも検索できます。
構文は、
要素「not in 変数」
となります。
x = ["おはよう","こんにちは","こんばんは"]
"こんばんは" not in x
このコードが、リスト内に入っていないかを判定してくれるコードで、
「こんばんは」という要素は、リストに入ってないですか?
という意味です。
したがって、上のコードでは、リスト内に「こんばんは」があるので、
出力結果は、Falseとなります。
いくつの要素がリストに入っているかはlen関数で
こちらのコードをみてください。
x = ["おはよう","こんにちは","さようなら"]
len(x)
こちらのコードを入力すると、
出力結果は、「3」と出てきます。
len(変数)を用いることで、
リスト内の要素の数がいくつなのかを出力することができます。
まとめ
今回は、内容が盛りだくさんでしたね。
個人的には、テクニック的な要素が強いので、
知らないとできないことばかりだったのではないでしょうか。
キーワードとその意味が理解していれば、
いざというときに簡単に引き出すことができます。
今回は、記事の段落タイトルがほぼまとめのような名前にしてあるので、
各段落タイトルを見てどのような操作を具体的にすれば良いのかがすぐ思い出せればgoodです。
この記事で使用したコードはGitHubに載せておきますので、ぜひ活用してください。
GitHubでの閲覧方法は次の記事を参考にしてください。
それではまた次回お会いしましょう。
おぎー
“【Python初心者】コンテナ①(リスト)” への2件の返信