三丁目の電脳

Python 条件分岐とif文

JUGEMテーマ:python

条件分岐とは名前の通り「条件に応じて実行する処理を分岐する」というはたらきをする構文です。プログラムを実行しているとき変数の値などをさまざまな状態によって異なる処理を行わせる、これが条件分岐です。
Pythonに用意されている条件分岐はif文と呼ばれます。条件となる部分と、それによって実行する処理の部分からなります。

構文

if 条件 :
    ……条件がTrueの時の処理……
    ……略……

構文

if 条件 :
    ……条件がTrueの時の処理……
    ……略……
else:
    ……条件がFalseの時の処理……
    ……略……

if分は一番所に分岐のための条件を記述する文を用意します。ifの後に条件(条件式など)を用意し最後にコロン(:)記号をつけます。コロンにり、ここまでがifの条件で、この後に実行する処理が続くとわかるようになっています。
条件は原則がbool値になる式など、boolとして得られるものならばどんなものでも条件に設定できます。
ifのある行の次行はインデントして条件がTrueだった時の処理を記述します。インデントの位置さえ揃えていればこの処理を何行書いても「条件がTtueのとき実行する処理」として扱ってくれます。
条件がFalseだった時の処理は、その後に「else:」をつけて記述します。文はインデントでelse:よりも右にずらして記述します。
この部分(else: 〜の部分)は不要ならば書かなくとも構いません。その場合は条件がFalseなら何もせずに次に進みます。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.27 Friday | 13:15 | Python | comments(0) | trackbacks(0) |
Python 辞書(dict) キーワードと値の取得

JUGEMテーマ:python

辞書はミュータブルなコンテナで、自由に値を操作できますがインデクスを使わない(つまりシーケンスでない)ためシーケンス演算は原則として使えません。利用できるのは以下のものです。
辞書に使える関数
関数内容
len要素数を得る。
minキーワードの最小値を得る。
maxキーワードの最大値を得る。
値 in 辞書キーワード(値)があるかどうか
値 not in 辞書キーワード(値)がないかどうか

構文

辞書.keys()

すべてのキーワードを得る。

構文

辞書.values()

すべての値を得る。

構文

辞書.items()

すべての項目を得る。 これらはキーワードや値などをコンテナにまとめて取り出します。items()はキーワードと値をタプルにまとめたものを取り出します。これらのメソッドで得られるのは「ビューオブジェクト」と呼ばれる特殊な値であるため、利用の際にはリストなどにキャストして使います。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.27 Friday | 11:06 | Python | comments(0) | trackbacks(0) |
Python 辞書(dict)とは

JUGEMテーマ:python

ここまで、大きく分けて2種類のコンテナについて説明してきました。1つはシーケンスの仲間。これはインデクスという番号を付けて値を管理するものでした。もう一つは集合(セット)。これは保管されている値を一つ一つ指定するような機能は持っていませんでした。
保管している値をここに取り出して操作したい場合は、シーケンスならインデクスを使うことになります。しかし、この「番号で整理する」というやり方は順序づけて値を管理するにはよくても、データの内容がわかりやすいものではありません。
例えば、電話番号をまとめて管理することを考えてみましょう。1つ1つの電話番号にインデクス番号をつけて管理することはできますが、これでは「その電話番号がだれのものか」はわかりません。けれども電話番号を管理するときは、それが一番重要なことのはずです。
もし番号ではなく名前をつけて電話番号を管理出来たら、もっとわかりやすくデータ管理できます。「山田」という名前を指定したら山田さんの電話番号が得られる。実にわかりやすいと思いませんか?
このような方式で値を管理するのが辞書(dict)コンテナです。3種類目のコンテナです。

●辞書の作成
辞書とは、セットと似て順番を持たないコンテナです。時牛腸としては「キーワード(キー)」によって値を記述したり、値を取り出したりできるためセットよりもデータが参照しやすいことなどが挙げられます。辞書を作成するには{}記号のの中にキーワードと値を記述していきます。キーワードというのは値につけられるラベルのようなものです。辞書ではインデクスの代わりにキーワードを使って値を管理します。

構文

{キー1:値1,キー2:値2,キー3:値3……}
dict{キー1=値1,キー2=値2,キー3=値3……}



●値の操作
辞書では値の指定に[]記号をつけて行います。[]内にキーワードをしてします。

構文

辞書[キー]

値を取り出す。

構文

辞書[キー] = 値

値を変更する。

●値の削除
辞書である値を削除するのはdelを利用します。

構文

del 辞書[キー]

良かったらポチして下さい。


人気ブログランキング
| 2018.04.24 Tuesday | 13:24 | Python | comments(0) | trackbacks(0) |
Python セットの論理演算

JUGEMテーマ:python

●セットの論理演算
比較演算の他に2つのセットを合成して新しセットを作成するための演算もあります。これもAとBの2つのセットを使った形で整理してみます。

構文

A & B

論理積「&」はAとBの両方に含まれている値だけをセットとして取り出します。

構文

A | B

論理和「|」はAとBの両方に含まれているすべての値をセットとして取り出します。

構文

A ^ B

排他的論理和「^」はAとBのどちらか一方にだけ含まれている値をセットとして取り出します。

構文

A - B

セットは-演算子による「引き算」で新たなセットを作成することが出来ます。AからBに含まれている値を取り除いた残りをセットとして取り出します。

構文

B - A

セットは-演算子による「引き算」で新たなセットを作成することが出来ます。BからAに含まれている値を取り除いた残りをセットとして取り出します。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.24 Tuesday | 11:03 | Python | comments(0) | trackbacks(0) |
Python セットの比較演算

JUGEMテーマ:python

セット同士で比較するための演算が可能です。セットは集合に相当するデータ型です。集合を理解していると、これらの演算の理解もしやすいです。
●セットの比較演算
セットには2つのセットを比較するための演算が用意されています。これは比較演算子を使って行うことができます。AとBのセットを比較する形で整理しましょう。

構文

A == B

AとBは同じ(含まれる値が全く同じ)

構文

A != B

AとBは異なる(含まれる値が違っている)

構文

A < B

AはBに含まれる(Aの値はすべてBに含まれる)

構文

A <= B

AはBと同じかBに含まれる

構文

A > B

BはAに含まれる(Bの値はすべてAに含まれる)

構文

A >= B

BはAと同じかAに含まれる

良かったらポチして下さい。


人気ブログランキング
| 2018.04.24 Tuesday | 10:23 | Python | comments(0) | trackbacks(0) |
Python セットの値の利用

JUGEMテーマ:python

セットは値をインデクスで管理していません。ただ値をそのまま保管しているだけです。よって番号を指定して、セットの中から必要な値を取り出す使い方はできません。「セットの中に、この値があるか」を簡単にしらべられます。セットは集合です。「この値は、この集合に含まれるか」を調べる、その集合の仲間かを調べることで値を探して利用します。

構文

値 in セット
値 not in セット

セットの中に値が含まれているどうかを調べるには「in」、セットの中に値が含まれていないかどうかを調べるには「not in」を使います。これらはリストなどのシーケンス演算にあったものと同じです。

構文

セット.add(値)

セットに値を追加するには「add」というメソッドを使います。これで値がセットに追加されます。もしその値がセットに含まれていた場合は何もしません。

構文

セット.remove(値)

セットにある値を取り除く場合は「remove」メソッドを使います。これで指定した値がセットから取り除かれます。もしその値がセットになかった場合はエラーになります。


●セットの内容に関する演算
セットに保管されている値に関するいくつかの演算も用意されています。これらはいずれもリストなどのシーケンス値とおなじみだったものです。

構文

len(セット)

セットに用意されている要素の数を調べます。

構文

min(セット)
max(セット)

それぞれセットに保管されているもっとも小さな値やもっとも大きな値を調べて取り出します。ただしセットに保管されている値に文字列があった場合はエラーになります。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.24 Tuesday | 09:56 | Python | comments(0) | trackbacks(0) |
Python セットとは

JUGEMテーマ:python

リストなどのシーケンスな値は用意された値にインデクス番号を割り振り、順番に整理します。これらは「〇〇番の値」と番号を指定すれば特定の値を取り出すことが出来ます。番号を指定して値を入れれば、同じ値をいくつでも用意できます。リストはデータの中身には興味はなく、順番を気にします。それとは反対に順番には興味がなく「すべての値がユニークである」という事をデータの塊、値を管理したいこともあります。数学の「集合」に相当する考え方です。これを実現するのがセット(set)というコンテナです。セットは同じ値を複数保管しません。また値にはインデクスがつけられず、順序付けて管理されていません。

●セットの作成

構文

{値1,値2,値3,……}

構文

set(シーケンス値)

シーケンスの値(リストやタップル、レンジ)から作成します。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.23 Monday | 13:37 | Python | comments(0) | trackbacks(0) |
Python シーケンス間の変換

JUGEMテーマ:python

リスト、タプル、レンジの3つは、いずれもシーケンスです。すべてインデクスで値が管理されており、インデクス番号で値を取り出せます。またシーケンス演算にも対応しており、使い方も非常に近いものがあります。ただし、細かな働きなどは違うため、まったく同じものとしては扱えません。例えばたリストとタプルを+演算子で1つにつなげることはできません。こうした場合、タプルからリストに変換する作業が必要になってきます。

構文

list(値)

リストに変換する。 構文

tuple(値)

タプルに変換する。 pict" />

良かったらポチして下さい。


人気ブログランキング
| 2018.04.23 Monday | 11:31 | Python | comments(0) | trackbacks(0) |
Python レンジとシーケンス演算

JUGEMテーマ:python

レンジはリストやタプルの様に加算・乗算による算術演算はサポートしていませんがシーケンスの仲間なのでシーケンス演算をサポートしています。

構文

値 in レンジ
値 not in レンジ

レンジの中に値が含まれているかどうかを調べます。inは含まれていればTrue、not inは含まれていたらFalseになります。

構文

レンジ[開始位置:終了位置]

レンジの中から指定した範囲の値をレンジとして取り出します。

構文

len(レンジ)

レンジに用意されている要素の数を調べます。

構文

min(レンジ)

レンジに保管されているもっとも小さな値を調べます。

構文

max(レンジ)

レンジに保管されているもっとも大きな値を調べます。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.23 Monday | 10:48 | Python | comments(0) | trackbacks(0) |
Python 範囲を表すレンジ

JUGEMテーマ:python

シーケンスなオブジェクトとしてrange(レンジ)があります。レンジは、一定の範囲内の整数の集まり(数列)をまとめて扱うためのものです。例えば「5から10までの整数」というようなものを値として扱いたい時に利用します。こういうとき、「5,6,7,8,9,10」といった数列を値にもつコンテナを用意すればいいでしょう。これを行うのがレンジです。

構文

range(終了値)

rangeの後の()に整数を指定すると、ゼロからその値の手前までの範囲を示すレンジが作られます。

構文

range(開始値,終了値)

例えば「5〜10の範囲」というように、ある値から別の値までの範囲を示すレンジを作成します。

構文

range(開始値,終了値,ステップ)

例えば「10〜20の範囲で2ステップで」というように、ある値から別の値までのステップ範囲を示すレンジを作成します。

良かったらポチして下さい。


人気ブログランキング
| 2018.04.23 Monday | 10:07 | Python | comments(0) | trackbacks(0) |
| 1/27PAGES | >>