JUGEMテーマ:python
条件分岐とは名前の通り「条件に応じて実行する処理を分岐する」というはたらきをする構文です。プログラムを実行しているとき変数の値などをさまざまな状態によって異なる処理を行わせる、これが条件分岐です。構文
if 条件 :
    ……条件がTrueの時の処理……
    ……略……
構文
if 条件 :
    ……条件がTrueの時の処理……
    ……略……
else:
    ……条件がFalseの時の処理……
    ……略……
JUGEMテーマ:python
辞書はミュータブルなコンテナで、自由に値を操作できますがインデクスを使わない(つまりシーケンスでない)ためシーケンス演算は原則として使えません。利用できるのは以下のものです。関数 | 内容 |
---|---|
len | 要素数を得る。 |
min | キーワードの最小値を得る。 |
max | キーワードの最大値を得る。 |
値 in 辞書 | キーワード(値)があるかどうか |
値 not in 辞書 | キーワード(値)がないかどうか |
構文
辞書.keys()
すべてのキーワードを得る。構文
辞書.values()
すべての値を得る。構文
辞書.items()
すべての項目を得る。 これらはキーワードや値などをコンテナにまとめて取り出します。items()はキーワードと値をタプルにまとめたものを取り出します。これらのメソッドで得られるのは「ビューオブジェクト」と呼ばれる特殊な値であるため、利用の際にはリストなどにキャストして使います。]]>JUGEMテーマ:python
ここまで、大きく分けて2種類のコンテナについて説明してきました。1つはシーケンスの仲間。これはインデクスという番号を付けて値を管理するものでした。もう一つは集合(セット)。これは保管されている値を一つ一つ指定するような機能は持っていませんでした。構文
{キー1:値1,キー2:値2,キー3:値3……}
dict{キー1=値1,キー2=値2,キー3=値3……}
構文
辞書[キー]
値を取り出す。構文
辞書[キー] = 値
値を変更する。構文
del 辞書[キー]
]]>JUGEMテーマ:python
●セットの論理演算構文
A & B
論理積「&」はAとBの両方に含まれている値だけをセットとして取り出します。構文
A | B
論理和「|」はAとBの両方に含まれているすべての値をセットとして取り出します。構文
A ^ B
排他的論理和「^」はAとBのどちらか一方にだけ含まれている値をセットとして取り出します。構文
A - B
セットは-演算子による「引き算」で新たなセットを作成することが出来ます。AからBに含まれている値を取り除いた残りをセットとして取り出します。構文
B - A
セットは-演算子による「引き算」で新たなセットを作成することが出来ます。BからAに含まれている値を取り除いた残りをセットとして取り出します。 ]]>JUGEMテーマ:python
セット同士で比較するための演算が可能です。セットは集合に相当するデータ型です。集合を理解していると、これらの演算の理解もしやすいです。構文
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に含まれる ]]>JUGEMテーマ:python
セットは値をインデクスで管理していません。ただ値をそのまま保管しているだけです。よって番号を指定して、セットの中から必要な値を取り出す使い方はできません。「セットの中に、この値があるか」を簡単にしらべられます。セットは集合です。「この値は、この集合に含まれるか」を調べる、その集合の仲間かを調べることで値を探して利用します。構文
値 in セット
値 not in セット
構文
セット.add(値)
セットに値を追加するには「add」というメソッドを使います。これで値がセットに追加されます。もしその値がセットに含まれていた場合は何もしません。構文
セット.remove(値)
セットにある値を取り除く場合は「remove」メソッドを使います。これで指定した値がセットから取り除かれます。もしその値がセットになかった場合はエラーになります。構文
len(セット)
セットに用意されている要素の数を調べます。構文
min(セット)
max(セット)
JUGEMテーマ:python
リストなどのシーケンスな値は用意された値にインデクス番号を割り振り、順番に整理します。これらは「〇〇番の値」と番号を指定すれば特定の値を取り出すことが出来ます。番号を指定して値を入れれば、同じ値をいくつでも用意できます。リストはデータの中身には興味はなく、順番を気にします。それとは反対に順番には興味がなく「すべての値がユニークである」という事をデータの塊、値を管理したいこともあります。数学の「集合」に相当する考え方です。これを実現するのがセット(set)というコンテナです。セットは同じ値を複数保管しません。また値にはインデクスがつけられず、順序付けて管理されていません。構文
{値1,値2,値3,……}
構文
set(シーケンス値)
シーケンスの値(リストやタップル、レンジ)から作成します。 ]]>JUGEMテーマ:python
リスト、タプル、レンジの3つは、いずれもシーケンスです。すべてインデクスで値が管理されており、インデクス番号で値を取り出せます。またシーケンス演算にも対応しており、使い方も非常に近いものがあります。ただし、細かな働きなどは違うため、まったく同じものとしては扱えません。例えばたリストとタプルを+演算子で1つにつなげることはできません。こうした場合、タプルからリストに変換する作業が必要になってきます。構文
list(値)
リストに変換する。 構文tuple(値)
タプルに変換する。 pict" /> ]]>JUGEMテーマ:python
レンジはリストやタプルの様に加算・乗算による算術演算はサポートしていませんがシーケンスの仲間なのでシーケンス演算をサポートしています。構文
値 in レンジ
値 not in レンジ
構文
レンジ[開始位置:終了位置]
レンジの中から指定した範囲の値をレンジとして取り出します。構文
len(レンジ)
レンジに用意されている要素の数を調べます。構文
min(レンジ)
レンジに保管されているもっとも小さな値を調べます。構文
max(レンジ)
レンジに保管されているもっとも大きな値を調べます。 ]]>JUGEMテーマ:python
シーケンスなオブジェクトとしてrange(レンジ)があります。レンジは、一定の範囲内の整数の集まり(数列)をまとめて扱うためのものです。例えば「5から10までの整数」というようなものを値として扱いたい時に利用します。こういうとき、「5,6,7,8,9,10」といった数列を値にもつコンテナを用意すればいいでしょう。これを行うのがレンジです。構文
range(終了値)
rangeの後の()に整数を指定すると、ゼロからその値の手前までの範囲を示すレンジが作られます。構文
range(開始値,終了値)
例えば「5〜10の範囲」というように、ある値から別の値までの範囲を示すレンジを作成します。構文
range(開始値,終了値,ステップ)
例えば「10〜20の範囲で2ステップで」というように、ある値から別の値までのステップ範囲を示すレンジを作成します。 ]]>JUGEMテーマ:python
多数の値をまとめて使うことが出来るものは、リストだけではなくいくつか存在します。中でも、非常にユニークな働きをするのがタプル(tuple)でしょう。構文
値1,値2,値3…
(値1,値2,値3…)
JUGEMテーマ:python
●値の位置を調べる構文
リスト.index(値)
構文
リスト.pop()
構文
リスト.clear()
構文
リスト.reverse()
構文
リスト.sort()
リスト.sort(reverse=真偽値)
JUGEMテーマ:python
リストは、オブジェクトと呼ばれるものの一つです。オブジェクトは「さまざまな値や処理をひとまとめにして扱えるようにした特別な値」の総称です。構文
リスト.append(値)
構文
リスト.insert(インデクス,値)
構文
リスト.remove(値)
構文
del オブジェクト
これで指定のオブジェクトを削除できます。例えばdataというリストがあり、そのインデクス番号1の値を削除したければ、このように実行すればいいわけです。JUGEMテーマ:python
+や*による演算の他にもリストには様々な演算が用意されています。これらはシーケンス演算と呼ばれます。シーケンスというのは、保管する値に番号(インデクス)をつけて整理するコンテナの総称で、リストもシーケンスの仲間です。このシーケンスに共通する演算がシーケンス演算です。+や*の演算もシーケンス演算の一種です。構文
値 in リスト
値 not in リスト
構文
リスト[開始位置:終了位置]
構文
len(リスト)
構文
min(リスト)
※リスト内に文字列が含まれているエラーになります。構文
max(リスト)
※リスト内に文字列が含まれているエラーになります。 ]]>JUGEMテーマ:python
●リストの加算構文
リスト + リスト
構文
リスト * 数値(整数)
]]>