この章ではaのセットとbのセットの2つのセットがあるとして、aの要素とbの要素が1つでも共通した要素を含んでいるかどうかを調べる方法について説明します。
では例をみてみましょう。 aの要素とbの要素が1つでも共通した要素を含んでいるかどうかを調べるにはという構文で書きます。
共通した要素を含んでいればfalse、含んでいなければtrueを出力します。
isdisjointメソッドはfrozensetでも使うことが出来ます。
結果は次の通りです。
月: 2015年5月
issubset関数について知ろう
issuperset関数について知ろう
この章ではaのセットとbのセットの2つのセットがあるとして、aとbのすべての要素を取り出して、セットを作成する3つの方法について説明します。
1つ目の例をみてみましょう。 aとbのセットのすべての要素を結合するにはという構文で書きます。
unionメソッドはaとbのすべての要素を結合する機能がありますが、重複した要素は1つにまとめられます。
この例では重複する要素が省かれたというセットが作成されます。
unionメソッドはfrozensetでも使うことが出来ます。
結果は以下の通りです。
2つ目の例をみてみましょう。 aとbのセットのすべての要素を結合するにはという構文で書きます。
aとbのセットの共通の要素は1つまとめられて、元のセットaの要素を書き替えます
この例では重複する要素が省かれたというセットが作成されます。
updateメソッドはfrozensetでは使うことが出来ません。
frozensetで使いたい場合はunionメソッドを使用してください。
結果は次の通りです。
3つ目の例をみてみましょう。 aとbのセットのすべての要素を結合して、セットを作ります。 形式は例のa |=bのような元のセットaを変更してもいいですし、もしくはのようにcという新たなセットを作成してもいいです。
「|」はfrozensetでも使用することが出来ます。
結果は次の通りです。
この章では前の章に続いて、aのセットとbのセットの2つのセットがあるとして、aとbの共通してない要素だけを取り出して、セットを作成する方法について説明します。
では例をみてみましょう。 aのセットとbのセットの2つのセットがあるとして, aとbの共通してない要素だけを取り出して、aのセットを書き替えるにはという構文で書きます。
aとbの共通してない要素は6,8,3,5です。
このようにはaとbの共通してない要素だけを取り出して、aのセットを書き替える機能があります。
新たなセットが作成されるのではなく、元のセットが書き替えられます。
symmetric_difference_updateメソッドはfrozensetでは使うことができません。
結果は以下の通りです。
次の例もaとbの共通してない要素だけを取り出して、セットを作る方法について説明します。 aとbのセットの共通してない要素だけを取り出すにはを使用します。 a ^=bのように元のセットaを変更してもいいですし、もしくはのようにcという新たなセットを作成してもいいです。
aとbの共通してない要素だけを取り出します。
「^」はfrozensetでも使用することが出来ます。
結果は次の通りです。
この章ではaのセットとbのセットの2つのセットがあるとして、aの要素の中でbにはない要素だけを取り出して、セットを作成する3つの方法について説明します。
1つ目をみてみましょう。 aのセットの要素の中でbのセットの要素にはない要素だけを取り出すにはと言う構文で書きます。
この例ではaの要素の中でbの要素に無い要素は6と8だけですので、cを出力するとになります。
この例ではcにその組み替えたセットを入れています。
このようにdifferenceメソッドはaの要素の中でbに無い要素だけを取り出し、新たなセットを作成する機能があります。
differenceメソッドはfrozensetでも使うことが出来ます。
結果は以下の通りです。
2つ目の例をみてみましょう。 次はaのセットとbのセットの2つのセットがあるとして、aの要素の中でbにはない要素だけを取り出し、aのセットを書き替えるにはという構文で書きます。
この例ではaの要素の中でbの要素に無い要素は6と8だけです。
このようにdifference_update メソッドはaの要素の中でbに無い要素だけを取り出す機能があります。
新たなセットが作成されるのではなく、元のセットが書き替えられます。
difference_updateメソッドはfrozensetでは使うことができません。
結果は以下の通りです。
3つ目の例をみてみましょう。 この例ではaのセットの要素の中でbのセットにない要素だけを取り出し、セットを作っています。
その機能はを使います。 a -=bのような元のセットaを変更してもいいですし、もしくはのようにcという新たなセットを作成してもいいです。
はfrozensetでも使用することができます。
結果は次の通りです。
この章では2つのセット間の共通した要素だけを使って、新たなセットを作るメソッドについて説明します。
この方法は3つあるので順番に説明します。
1つ目の例をみてみましょう。 aのセットとbのセットの2つのセットがありますが、2つのセット間の共通した要素だけを使って、新たなセットを作成するにはという構文で記述します。
両セット間で共通してない6,8,3,5は捨てられ、新たなセットが作成されます。
intersectionは frozensetでも使うことができます。
結果は次の通りです。
2つ目の例をみてみましょう。 aのセットとbのセットの2つのセットがあるとして、2つのセット間の共通した要素だけを使ってaのセットを書き替えるにはという構文で書きます。
両セット間で共通してない6,8,3,5は捨てられ、aのセットはに変更されます。
intersection_update メソッドは2つのセット間の共通した要素でaのセットを書き替える機能があります。
新たなセットが作成されるのではなく、元のセットが書き替えられます。
intersection_updateメソッドはfrozensetでは使うことができません。
結果は次の通りです。
3つ目の例をみてみましょう。 この例も2つのセットの共通した要素だけでセットを作ります。
作成方法は&を使用します。 a &=bのように元のセットaを変更してもいいですし、もしくはのようにcという新たなセットを作成してもいいです。
& は frozensetでも使用することができます。
結果は以下の通りです。
セットに新たな要素を入れたり、削除しよう
この章ではセットに新たな要素を入れたり、要素を削除する方法について説明します。
では例をみてみましょう。 セットに要素を新たに付け加えるにはaddメソッドを使用します。 この例では10とaを付け加えています。
次はセットの要素を削除するremoveメソッドについて説明します。 例では以下のようにセットの要素である1と9を削除しています。
次はセットのすべての要素を一気にすべて削除するclearメソッドについて説明します。
では例をみてみましょう。 clearメソッドの基本構文は以下の通りです。 clearメソッドはセットのすべての要素を削除します。
この後、for文で出力しても、もちろん何も表示されません。
次の例に進みます。
この例で注意してほしいことはfrozensetではaddメソッドもremoveメソッドもclearメソッドも使うことができないということです。
つまり、要素の中身を変更することはできません。 出力しようとすると以下のようにというエラーになります。
自動計算プログラムを作ろう
この章では自動計算プログラムを作ります。このプログラムではリスト、while、if文が出てきますので、これらの使い方のイメージを掴んでください。 このプログラムでは5問の計算を行うプログラムです。
最後に5問中いくつ正解したのか正解数を表示して終了になります。
では先頭から説明します。 この箇所ではリストを2つ作成しています。
これらのリストには初めにすべて0が入っていますが、後ほど数値がそれぞれ5つ入ります。
answerは答えを入れるリストで、resultは正解の答えが入っているリストです。
次に以下の箇所の説明をします。 num1とnum2にはそれぞれ0から50までの数値がランダムに入ります。
乱数については説明済みですので、ここでは詳しくは書きません。
次に以下の箇所の説明をします。 ここでは以下の赤枠の箇所の表示を行っています。
while文で5回ループしているので、5回の式が表示されます。 では次の箇所の説明をします。 raw_input関数はユーザーに入力をさせる関数であることは説明済みですが、この関数は文字列として入力されるのでint関数で整数に変換しなくてはいけません。
そして、その入力値は答えになりますので、answerに5回入力していきます。
つまり、whileで5回ループしていますので以下の順番でリストにデータが入っていきます。 以下の箇所では実際の答えがリストとして入力されます。 whileで5回ループしていますので以下の順番でリストにデータが入っていきます。 次に以下の箇所の説明をします。 この箇所では正解数をカウントしています。
rightanwerには正解数が入るのですが、初めに0が入っています。
そしてif文でリスト同士の値を比べて、同じであればrightanswerに1を足します。このif文はwhileの中に入っているので、5回ループして、その都度答え合わせをします。
最後に以下の箇所で出力をして、終わりになります。