📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

【初学者必見!】Python基礎力を底上げするための特訓20問 vol.1

いまにゅのプログラミング塾26:41

Transcription

[音楽]

ん dee [音楽] 2 [音楽]

1. ジュピターラボのショートカット機能

ショートカットキーを用いてこちらの5つの操作を行ってください。

* セルの追加

* セルの削除

* マークダウンセールに切り替え

* コードせるに切り替え

* セルの実行

それでは回答です。このセルの中にこのようにカーソルがない状態を くってください。まずはここで `sk` ポスト。このようにカーソルが外れます。今この制度を選択している状態で `b` を押してください。そうするとセールを追加することができます。`b` ですね。でこの状態で `d` を押してください。`d` ですね。`abcb` を押すとベリーとして くれます。そしてこの `e` 今行動セールになっていますが、これはマークダンセルに切り替えたほうがいいですね。切り替えたい場合は `aim` としてください。そうするとマークダウンせるに切り替わり ます。これを行動セールにしたい場合は `u ym` 5 `ym` ということで切り替えることが できます。そして最後マークなんセルではなくコードせるなっている状態で、この状態で例えば何かを打ってこれで実行したい場合には `shift` `return` もしかしふと `enter` 押してあげるとこのように実行することができ ます。

2. インストール済みパッケージ一覧の確認

ご自身の環境にインストール済みのパッケージ一覧をターミナルなどで表示してください。

それでは回答です。パッケージ一覧を確認するにはこのターミナルもしくは Windows 県民の頭を PowerShell と開いていただき、こちらで `pip list` 混乱を入れている人は `conda list` としていただくとこのようにインストールしているパッケージ一覧を表示する ことができます。でこの `pip list` まあ今回でと私は `pip3 list` の新しいかもしれませんが `pip3 list` もしくは `pip list` としていただくとこのようにライブラリー類を表示することが できます。

もう一つですね。`pip freeze` というものも使うことができます。この `pip freeze` と `pip list` 見るとちょっと違いますよね。`pip freeze` というのは各ライブラリーのバージョンもですね、このような形で記載 されております。またこの `pip freeze` で出力されたこれらの一覧というのは `requirements.txt` というものに記載する形式のことになります。どういうことかというと `requirements.txt` というのはパッケージをまとめてライブラリーをまとめてインストールするための会社の設定ファイルのことです。その設定パールに書きたいとなった時にはこちらの `pip freeze` でこちら出力したものをですね記載していただく形だ おなります。

Jupyter Notebook などで確認したい Jupyter Notebook などで確認したい場合は、エクスクラメーションマークを先頭につけることで OS コマンドを呼び出すことが できます。なのでここで `pip3 freeze` とするとこのように先ほどと同じような 市鶴結果を得ることができます。

[音楽]

3. 文字列の代入フォーマット

f-strings 以下の文章の丸々に対してフォーマットメソッドと f-strings を使って文字列を代入しましょう。

「私はまるまるです。まだ丸出身です。」

それでは回答です。`name` そして `birth_place` という変数を事前に 用意しました。こちらの `name` `birth_place` と変数をそれぞれの丸に代入してみたいと 思います。

まずはフォーマットメソッドを使ったやり方をお伝えします。`format` メソッドはこの文字列に対して後ろにドット `format` とを使用します。これは以下の文字列ストーリーんぐ方に適用するメソッドなのでこの ような形になります。猫の丸々の部分に波括弧を持ってきてあげますね。この波括弧二つあるうちのまずこちら が一つ目、そして二つ目としたときに一つ目の波括弧に入れたいな の `name` ですよね。ならこの `format` の中 の引数に `name` も入れます。そして出身は のところに入れたようなこの `birth_place` です。ということでこの二つ目の引数にはこちらを入れます。このようにしてあげると「はい、私は今 `name` です。出身は `birth_place` です。」という形になります。これがフォーマットメソッド 使ったやり方です。この波括弧を三つ用意すれば三つ引数を三つ用意する、四つだったら四つという形でいきすんな数とこの文字列の中の波括弧の数を合わせてですね代入して いくような形が `format` となります。

最近私はこちらではなくてです。f-strings をよく用いています。どのような形かと言うと簡単です。この状態は変わらず `formatter` の後ろにドット `format` をしましたが、f-strings はこの前にこの文字列の前に `f` とつけるんですね。そうすると波括弧の色変わったの分かります?黒、赤、黒、赤でなりました。でこれ `f` つける黒になるので、この中で変数を入れます。`name` とそして `birth_place` ですね。これを入れてあげることによって文字列の中に直接 変数を代入する埋め込むことができるのが f-strings です。こういった形で f-strings を使った方がまあ比較的シンプルわかりやすいかなと思うので私はですねこちらを使用することをお勧めしています。

4. エスケープシーケンス

次の文字列を句読点で開業しましょう。

それでは回答です。エスケープシーケンスとは特殊文字、まあ特殊記号のようなものでも、ずれさの中に組み込むことで改行やタブとかを表現することができます。今回は開業お伝えします。まずですね、この文字列の国道ての後ろでバックスラッシュを入れます。バックスラッシュほにゃららー、まあ基本的に朝のエスケープシーケンスを表現します。Windows の方は円マークになると思います。バックスラッシュもしくは円マークを入れてここに `n` を入れてください。でこれがですね、バックスラッシュ `n` で開業表すエスケープシーケンスです。`n` は開業、えみするニューラインを意味します。これで実行しましょう。そうすると単純に文字列を見るだけでは何も変わりません。`print` するとこのエスケープシーケンス、いわゆる改行っていうのをこれ表現することが できるのかというと `print` 部分で出力します。`print` 文でこの文字列を出力してあげることで、このバックスラッシュ `n` っていうのをしっかりと反映した形で表示 することができます。

5. 書式化

16.0 という値を次の書式で表示しましょう。

* 符号付き10進数

* 符号付16進数

* 10進浮動小数点

それでは回答です。書式化ということで、書式化演算子のパーセントを使用することでスーツとかあとはですね文字列に対して書式を設定して新しいですね文字列を作成することができます。他のプログラミング言語で言う `printf` の形式で書式化を行うこと ができます。ではやってみたいと思います。ちょっと `number` 用意しました。10進数、16進数、10進数浮動小数点ということでそれぞれ16、16、16ということで あるんですけれども、ここでですね10進数で表現したやっぱどうするかというと英語で `%` を付けます。で `%` を 付けることによっていわゆる `printf` 書式機関 演算子っていうのを使うことができます。でしょ指揮官演算子ってなんだのって詳しく知り たい人はですね、Python 書式化などで調べていただくと出てくると思うのでそちらを見 ていただくといいかなと思います。

エコ `%d` としていきます。これで16を10進数で表します。16を10進数で表すと正のまま16ですね。16進数で16を表すとどうなるかというと、10、10と言っていいのかな、10という形になります。じゃあどうやって表すかというと `%x` となります。最後10進浮動小数点だけで、浮動小数点のいわゆるこれはえっと少数ありですね、10進数の浮動小数点、な受信数の少数あり形式ということで、これはですね、はらずな `%f` ときます。ここから `%f` ローとなのでわかりやすいかなと思います。でこれを実行してみましょう。はい、そうすると `%d` と書いてあるのはこれ `16` が `%d` に当てはまって、こちらの16が二つ目、三つ目という形ですけれども、16はそのまま10進数だとそのまま16ですよね。16進数で `16` というのは `10` になります。まあこの16進数、10進数、2進数、8進数のかえ、まあ色々ありますけれども、その辺分からないよという方はですね、ぜひですね、あの調べて見ていただけたらなと思います。これが16.0ということで、10進数はこれに対しての小数点有りという形に変換する ことができました。これがですね、書式化と呼ばれるものになり ます。

6. 大文字小文字への変換

以下の文字列に対して小文字から大文字、大文字から小文字への変換を行いましょう。

それでは回答です。大文字小文字への変化は非常に簡単です。文字列 `string` 方に対してメソッドが適用 用意されています。どういったメソッドかというと `Hello` これですね、大文字でしたければ `.upper()` としてあげます。このメソッドを使用することによってはい、大文字に変換する ことができました。

で、は小文字にしたければどうするか?おそらく考え方わかるかと思います。`.lower()` としてあげると小文字に変換することができます。

7. 文字列の分割

下記の文字列を改行部分で分割し、リストに格納しましょう。

それでは回答です。まずはこちらの文ですね。「こんにちは。私は AAA のロボットです。」ということで、まあ開業エスケープシーケンス が入った文字列です。この文字列 `message` をですね、分割エスケープシーケンスの `\n` で分割したい場合、どのようにするかというとも、私もよく使うんですけれども、この `message` という文字列に対して `split()` というですね、もう分割を見せる `split()` という メソッドを使用します。ここで何をするかというと、どれを基準にどの文字列を基準に分割 するかということで、バックスラッシュ `n` を入れます。このようにすることではい、このようにバックスラッシュ `n` を境に「こんにちは」という部分と後ろの「 AAA のロボットです」ということで二つに分けることができました。

8. 文字列の結合

以下のリスト `lines` に入っている文字列を結合して一つの文にしましょう。

それでは回答です。`message.split()` で先ほどらしてスプリットしたわけで作成したこちらのリスト `messages` という名前でが苦悩しておきましょう。ってまあ分けたんですけれども、この分けた二つのも汁と再度結合させるというのは今 からお伝えしていきます。結合するときに使用するメソッドですね、`join()` というものを使用します。a mother でサクッと書いて行きたい と思いますが、シングルコーテーション文字列に対して `.join()` とします。これで `join` メソッドを使用して、この中にリストを入れてあげます。ノードリストの各洋装かちょっと結合するん ですかということで、今回は `messages` を使用するので行 のような形となります。ために難しくないです。まずは実行してみましょう。はい、こういった形です。今この `messages` の中にあるこのカット要素ですね、各要素、この文字列内に入っているこの文字列で結合しますよって いう意味です。今回何も書いてないね、ちょっと変化がわかりにくいと思うんですけれども、これをですね、てい このようにしてあげるとわかりやすいかなと思います。はい、この二つの要素がここに書いてある文字列で結合されてますよね。これが `.join()` 文字列の結合になります。

9. 空白除去

下記の文の初めと最後にある空白を除去しましょう。

それでは回答です。こちらのメッセージ「この、ここも結構はとてもおいしいね。」という前後 にですね、全角のこのような空白が入っています。これはですね、なくしたい場合どのようにする いうかというと、特に難しくはないです。今はこちらもですね、このように空白が入っている ような状況です。とでこれをですね、なくしたい場合には `.strip()` とします。このようにしてあげることではい、みてください消えましたね。ここ、前の空白消えました。ということでですね、実はこんな簡単にですね `message.strip()` というのを使用してあげることで文字列の空白をなくすことができます。

10. 文字列の置換

以下の文の「晴れ」を「雨」に置換してください。

それでは回答です。こちらのメッセージ「今日は晴れですね。」というものに対して「晴れ」を「雨」に置換文字音ですね、支えたいと思います。`message` というこちらのストリングに対して `.replace()` します。`replace` でどの文字をどの文字にっていうことで、何を何にっていうことを書く必要があっ て、英語に「晴れ」という「晴れ」という文字を「雨」に変えますよとしてあげることで、はいこのようにメッセージの中にある「晴れ」を「雨」に還る、つまり「今日は雨ですね。」ということ で文字列の置換を行うことができました。

11. 文字列検索

以下のフレーズの中から「夜空」を検索し、そのインデックスを出力しましょう。

それでは回答です。文字列に対してのメソッドとして `find()` というものがあります。この `find()` まあ見つけるですね、`find()` を使用するとその特定の文字列がある インデックスですね、それを出力してくれます。今回で言うと「夜空」としてあげます。これで実行してみましょう。そうすると `6` とでました。こちらですね、1、2、3、4、5、6ではありますけども、まあ0スタートで0、1、2と考えると方が6文字目になるので、6って出力結果 となりました。

12. 型変換

以下のデータ型を文字列型に変換しましょう。

それでは回答です。文字列型への変換全然難しくないです。このまま `x` を実行するとこのような形で `1` ということで `int` ガターとなりますが、`string` ですね、`str()` でこの変数ですね `x` を囲ってあげるとはい、シングルコーテーションに囲まれている `1`、つまり文字列となりました。同様に `1.52` という `float` 型、こちらもですね、同様に `string` で囲ってあげるとこのように文字列に変換することができ ます。実はリストに関してもこのように `string` 型で囲うことによって文字 列に変換することができます。ということは、はい、こちらの辞書以上も同様にこのように辞書方なくているものを `string` 型にするためには `str()` で囲ってあげるとこのようにはい、ダブルコーテーションで囲まれた文字列となりました。

13. 包含関係

以下の文字列 `a` が文字列 `b` に含まれているか確認しましょう。

それでは回答です。`a` と `b` このように文字列を定義します。今回まず一つ目の `a` と `b` に関してはこの中に `sda` というのが入っています。つまり `b` の中に `a` の文字列が入っているので包含関係としては成り立つような形になります。が、これはどのように判断するか、方が関係を判断するかというと `in` と `b` にしてあげます。そうするとこの `b` の中に `a` が入っているかどうかっていう形になり、実際に入っているので `True` となりました。でこの子第2巻 ては `xba1` というのはどこにも入っていないので、この `a` と `b` に関しては包含書は 成り立ちません。ということで包含関係を確認したい時には `in` を用います。

[音楽]

14. 特定の値を抽出

次のリストから先頭から2つめの値と最後の値をそれぞれ出力しましょう。また `2` という数値をリストの一番最後に追加しましょう。

それでは回答です。先頭から2つめの値というのは1、2番目なめ、この `3` となります。ただリストの要素はず前から0、1というふうに数えるので、ここは1番目になるわけです。よ。ということでこの `numbers[1]` とすると `3` という先頭から2つめの値を取ってくることができました。最後の値というのは前から数えてもいいんですけれども、一番最後というのは前から数えると面倒なので後ろから数えて一番最初の値ですよね。なのでこれ `-1` とつけてあげると一番後ろから数えて一つ目の値ですよということで、このように `1` というのを取ってくることができます。また `2` というですね、数値をリストの一番最後に追加したい場合は `numbers` このリストに対して末尾に値を追加しますよというときには `append()` を使用します。この中に `2` を入れてあげることで `numbers` の中に最後ですね、末尾に `2` が追加されました。

15. 特定の値を挿入

先ほどの `numbers` リストの先頭に `5` を挿入しましょう。また最後から一つ手前に `-3` を挿入しましょう。

それでは回答です。特定の値を挿入数 国は `insert()` というメソッドを使用します。まずはこのリスト `numbers` に対してドットとして `insert()` というメソッドを使用します。`insert` はですね、中にどの場所にどの値を追加するかというのを引数に入れます。まずは先頭に `5` を挿入したいということは、先頭というのはこの `0` 番目ですよね。`0` 番目に対して `5` を挿入したいとすると、今 `numbers` の先頭は `0` なので、これですね実行すると中身見てみましょう。はい、このように `0` の前に `5` を挿入しました。で、もう一つですね、最後から一つ手前。最後から一つ手前ということ で、どのようにするかこれも同様で `numbers.insert()` とします。最後っていうのが重要で、最後というのは `-1` でしたよね。やっぱ前なす `1` 前、一番最後の前にここで `-3` を挿入します。`-3` ですね、`-3` を挿入します。でもでこれで実行すると、一番後ろに立ったのが一番後ろに立ったのが、その前には `-3` という数値が入りました。

16. 特定の値を削除

先ほどのリストから1番目の `5` という要素と最後から3番目の要素を削除しましょう。

それでは回答です。特定の値を削除するにはいくつか方法があります。今回は `remove()` と `pop()` というメソッドを使用します。まずは `remove()` というメソッドを使用しましょう。今回のこの `numbers` というリストに対して `.remove()` とします。状況を意味する英語ですね。でこれに対してこの中で今が一番最初に削除したいのは1番目の `5` というわけです。でこの `remove()` の中には何を設定するかという と、`5` って実際に消したい値ですね、これを入れてあげることで `numbers` にてあげるとはい、このように `5` という数字が消えました。で例えば `3` という値を受けしたければ `.remove()` として `3` として あげます。でこのようにしてあげることではい、`3` という値を消すことができました。もう一個ですね、最後から3番目の要素を削除しましょうということで、えっと場所を指定して削除したい場合、今回でと最後から3番目というのは `2`、`-3`、`-1` という順番で言うと `1` が最後から3番目の値になります。これをインデックスのまあ要素の取得の方法で言うと `-1` 番目、`-2` 番目、`-3` 番目になり ますよね。これを `pop()` というメソッドで削除して 場合には `.pop()` として `-3` 番目の値を削除しますよとしてあげるんですね。`remove()` は実際の値を選択します。`pop()` は場所、どの場所の値を削除したいかというふうに要素のまあインデックスを指定してあげます。そうするとこの `-3` 番目のたいとしてはい `1` でしたよということで `1` を消しましたよとなるので `numbers` を見てあげると `1` という後ろから3つ目の `1` という値大消すことができました。

17. フィルター

次の偶数のみを返す関数とフィルター関数を用いて先ほどの `numbers` リストから偶数の実を取り出したリストを作成しましょう。

それでは回答です。`filter()` というですね関数を用いるんですけれども、使い方ちょっと特殊です。今回ですね、この `is_even` と言う偶数かどうかというのを判定する関数を作成 しましたが、まずはこちらを実行してみましょう。`2` というてキスを入れるとこれはですね、偶数ですよ、even ですよってルートでできてい ます。`3` をせると `False` でできます。ということで中を見るとわかるんですけれども、この `return` の値が `True` は `False` ってるんですよね。これが一種フィルターの役割になっています。こういう条件だったらフィルターを通しますよ、この 条件だったらフィルターを通しませんよと言う間、今回はシンプルに偶数だったらフィルターを通す、偶数じゃなければフィルターを通しませんよっていうのがまあ `return` で `True` は `False` になっているというのがまず非常に重要な点です。じゃあフィルター関数退いて使うかというとですね、フィルター関数はこの今 `filter` 取っていただき、このフィルターの役割を担う関数をここに書きます。今回で言うと `is_even` というのがそれにあたります。で、じゃあ何に対してフィルターをかけるかということでリストを後ろに書きます。今後で言うと `numbers` というリストに対してこの `is_even` という偶数かどうか を判定する関数に対してフィルターおきますよというのが出来上がります。これ実行するだけだと `filter` というなんかこのインスタンスが出てくるだけなんですけれども、これに対してフィルターをかけたものをリスト化しましょうという風にし てあげることで、はいこのように今ここ `print` 文が表示されているのでこのような形になってい ますけれども、下の結果を見ると `0, 8, -4, 2` っていう風に偶数の民を格納したですね、偶数のみを書く者したこのリストを作成することができました。実際にこの `9` とか `-3` とかいういわゆる 駅数入っているのが `numbers` ですけれども、そこから偶数の実を取り出しているのが こちらの結果となります。

18. 引数と一致する要素のインデックス

先ほどの `numbers` リストの中から要素が `-4` のインデックスを取得しましょう。

それでは回答です。インデックスの取得ということで要素番号を取得したい場合、どのようにするかというと非常に簡単です。こちらも `numbers.index()` としてあげます。`index()` メソッドを使用すると単純にインデックスを食することができます。今回は `-4` というこちらに入っている値がインデックス番号何なのかっていうの を見たいということですね。実行してみましょう。`2` が出てきました。これは `0, 1, 2` という2番目、2に `-4` が入っているからこのような出力結果となるわけです。

19. ソート昇順・降順

先ほどの `numbers` リストの順序を昇順・降順にそれぞれ並び替えましょう。

それでは回答です。ソートお子 なーにはリストのメソッドにある `sort()` を使用します。`numbers` というリストに対して `sort()` としましょう。これで `numbers` の中身を見てあげます。上は `0, 8, -4` となっているのが `sort()` というメソッドを使用するとこのように変わりました。デフォルトは昇順です。つまりどんどんどんどん右に行くにつれて大きくなっている並び階ですね。で、じゃあこれ逆に工場にしたい場合どうするかという所も簡単です。`numbers.sort()` に対してこの中の引数ですね、`reverse` っていうのがあって、これを `True` とします。そうすると逆ガーになるので、つまり高順になるわけです。こうじゅんというのはどんどんどんどん小さくですね、値が降りていくということでこういった形となり ます。

[音楽]

20. 要素の削除

以下の辞書から `pop()` メソッドを使ってキーが `a` と `b` である値を削除しましょう。また `clear()` メソッドを使ってすべての要素を削除しましょう。

それでは回答です。こちらに `dictionary` という辞書ですね、定義しました。この中からキーが `a` と `b` であるものを削除します。これも簡単です。`dictionary.pop()` としてあげて、ここに対してキーを指定します。今回デート `a` というキーをまず削除したいので、これで実行しましょう。そうすると今辞書削除しましたよというのが出てくるので、`dictionary` 見てあげるとこのように `a` が消えました。同様にこの `pop()` の中にキーを `b` に書いてあげると `a` というのが出力されていますが、これは `a` という値を削除しましたよということなので、`dictionary` を覗いてみると `a` と `b` 両方とも消えていました。すべて削除したいという場合 `clear()` というメソッドを使用しましょう。`dictionary` に対して `.clear()` します。このようにすることで `dictionary` 中身見てあげましょう。はい、すべての要素を削除することができました。

うふふ

4分

me

whoopee

ムーディー

[音楽]