独学プログラマー5章読んでみた:コンテナ
ご無沙汰しております。
ブログ書くの飽きたわけではないのです!
院試の勉強の為、平成最後の夏に白目を向きながら
研究室にこもって微積・線形などの勉強をしておりました。
大学受験以来、数学など触ってなかったので
理解するのに時間がかかるし、「あーこれか!」と
思っても「こんなに忘れてるのか、、」と
悲しくなりながら勉強していました。。。
昨日院試が終わったのでやっと記事がかける〜!!
ということで今日からまたpythonの勉強に戻ります。
今日は5章を読みました。
この本の私が個人的に好きなところなのですが
章のはじめに名言みたいなのが書いてあるのです!!
5章には「愚者はいつまでも悩み、賢者は尋ねる」とありました。
わかってはいるんですよ!わかってるんだけどなかなか
環境によってはこの尋ねるって行為がハードル高かったりしますよね。。
けど私は「わからないことはわかってる人に聞く」という
今後の人生の目標を立てています。
そしたらこの言葉を見つけて、なんてタイムリー!目指せ賢者!
と思いました。以上です。
この章はオブジェクトをコンテナに保存する方法、
具体的にはリスト・タプル・辞書について書いてありました。
リスト:好きな順番でオブジェクトを保存できるコンテナ
リストの特徴としてあげられるのは、繰り返し可能(イテラブル)
かつ、変更可能(ミュータブル)であることです。
また同じ型でなくても1つのリストに入れられます。
定義の仕方:[ ] を使用
追加・削除の仕方:append / popメソッド
こんな感じです。"mom","dad"を追加しようと思ったのですが
appendメソッドは1つのアーギュメントしか取らないので
一気には無理と言われたので、やむなくパパは諦めました笑。
popメソッドは後ろから要素を取り除くメソッドらしい。
そしてリスト同士は足すこともできるとありました。
要素の検索:in演算子
"検索要素" in コンテナ名
と書くことで"○○"がfamilyというリストの要素
であるかどうかを調べることもできます。
これは他のコンテナでも使えます!便利!
タプル:好きな順番でオブジェクトを保存できるコンテナ
タプルはほぼリストと同じですが
違う点は変更不可能(イミュータブル)であるところです。
定義の仕方:( ) を使用
こんな感じですね。
気をつけたいところは要素の数が1つだけの時は
その後に" , "をつけなければなりません。
これリストあればそれででよくね?と思ったのですが
絶対的に変わらないということを保証しているから
逆に地点の座標など不変の値を使う時に
便利らしいです。使う時いつかくるのかな、、不明、、
辞書:2つのオブジェクトを関連付けて保持するコンテナ
これは片方を"キー"、もう片方を"バリュー"としてマッピングします。
辞書は変更可能(ミュータブル)でのちにキーバリューペアを
追加・削除することができます。
定義の仕方:{ } を使用
追加・削除の仕方:delキーワード
このように追加の時は、[ 辞書名 ] [ [ キー ] ] = [ バリュー ]と書き
削除の時はdelキーワードを使用します。
キーとバリューがセットになっています。
ただ、辞書のキーは変更不可能(イミュータブル)なので
文字列かタプルならキーに使用できますが
リストや辞書はキーには使用できません!!
そして、in演算子で検索をかける時はキーしか
検索できないのでここでも少し注意が必要そうです。
5章はこんな感じでした!
明日は練習問題をやりたいな!
今日はこれ書く前、今度富士山に登るので
何を買えばいいのか調べてたんですけど
通販では服の生地の厚さとかわかんないし
記事によって持ち物違ってよくわかんなくなってきたから
ちかぢか山登りの用具売ってるお店に行きたいと思います。
死なないようにお金かけようと思います。
わからないことは人に聞く。
以上。