信じられるか？
眠らせないでほしいのですが､ あと少しです｡
最後にもうひとつ､ メインのデータ型をセットして､ 終了です｡
あまり盛り上がらない話題だとは思いますが｡
これが一番大変なんです｡
これから始めようとする人たちが､ 理解できないままこれらのことを学んでいるとき｡
なぜこれが必要なのか？
次のゲームはどうやって作ればいいんだろう？
次のNetflixをどうやって作ろうか？
次にクールなアップルアプリを作るにはどうしたらいいのか？
これを見て､ 理論を学んだだけだと思うんですね｡
数学の授業に戻ったような気分です｡
知っています｡
信じてください､ 私はこれを経験したのです｡
私も独学でプログラマをやっていました｡
これらは､ 私たちの土台となるレゴブロックです｡
これらを身につければ､ 新しいことに進むことができます｡ この小さな山を登れば､ 物事がとても簡単になり､
その力を実感できることでしょう｡
授業の終盤でプロジェクトを作り始めると､ 「ああ､ 今まで習ったこのブロック､ このはっきり言ってつまらない部分が､
すべて意味を持つようになるんだな」と実感できます｡
だから頑張れ｡
難しいはずなんです｡
しかし､ なぜこれが非常に強力なのか､ なぜ今学んだことが本当に素晴らしいものを作り､ 本当に素晴らしいプログラムを作ることを可能にするのか､
すぐにおわかりいただけると思います｡
それでは最後に､ Pythonで見る最後のデータ型､ データ構造について､ 少なくとも主要なものから見ていきましょう｡
そして､ それはセットと呼ばれ､ セットは単にユニークなオブジェクトの順序不同のコレクションです｡
ふむ｡
見てみよう｡
マイセットとマイセットを作ろう｡
辞書のように中括弧を付けて作成します｡
しかし､ 辞書の代わりに､ キーと値のペアがないのです｡
その代わり､ 1､ 2､ 3､ 4､ 5といった値が出てくるだけです｡
それだけです｡
それはセットです｡
セットを作成したところです｡
しかし､ 私が与えた定義では､ セットはユニークなオブジェクトの順序不同のコレクションであることを忘れないでください｡
どういう意味ですか？
さて､ これをプリントしてマイセットと言い､ 実行をクリックすると｡
一式揃える｡
しかし､ もしここにもう5つあるとしたら､ 「実行」をクリックします｡
ユニークなセットや､ セットで見たユニークなアイテムだけが返されます｡
重複がない
すべてがユニークでなければならないのです｡
だから､ この5つはセットに加えられることはないんだ｡
例えば､ 私のセットのように､ セットに物を追加して､ 追加と言って100のような値を与えることができます｡
そして､ 私がセットドット広告を行い､ 私がここをクリックすれば実行されるようにするとします｡
100は追加できたけど､ 2は......､ 2はすでにセットに入っているデータなので､ 実際には追加されていないんですね｡
それは､ オーダーメイドです｡
つまり､ ここで1､ 2､ 3､ 4､ 5を作ったが､ 実際には順序がない｡
私たちの思い出の空間には､ すぐ隣にある本棚はありません｡
これらは記憶の中にあるものですが､ セットならどれも個性的なので見つけることができます｡
つまり､ メモリの中のちょうど1つの場所に全部あるわけです｡
そこで､ お聞きしたいのですが｡
そして､ これはちょっとした楽しい練習になりそうです｡
配列を渡したら
そして､ これが含まれているとします｡
まあ､ これはこれでいいんですけどね｡
そして､ 重複のない配列を返して欲しいのです｡
だから､ 全部入れてほしいんです｡
と言ってみましょう｡
マイリストと呼ぼう｡
そして､ プログラマーがすでにこれを作っているのです｡
なるほど｡
そして､ あなたの仕事は､ ユニークな項目だけを持つリストやコレクションを作成したり､ 返したりすることです｡
これをセットにする場合､ どのようにすればいいのでしょうか？
まあ､ 前にもあったんですけどね｡
セット関数があるので､ そのセットで私のリストを包むだけです｡
そして､ プリントアウトしてみましょう｡
実行をクリックする｡
チェックしてみてください｡
リストから新しいセットを形成しました｡
そして､ 重複する値はすべて削除しています｡
どんなときに役立つのでしょうか？
もし私たちがユーザーネームを持っていたらと想像してみてください｡
メールアドレスでもいい｡
スタートアップページでメールアドレスを集めているが､ メールが重複しないようにしたい｡
この電子メールのリストをセットに変換して､ 重複を削除したい場合があります｡
だから､ 何度もメールを送ることはないんです｡
だから､ 本当にかっこいいんです｡
これはどうでしょう？
いいですか？
これをセットに変えてみましょう｡
だから､ 私のセットと呼ぼう｡
これをセットに変えてしまうのです｡
これでよしとする｡
そして､ インデックスが0のセットにアクセスしたい場合はどうすればいいのでしょうか？
ふむ｡
セットオブジェクトはインデックスをサポートしていません｡
まあ､ 繰り返しになりますが､ どちらかというと辞書のようなものだと考えていただければと思います｡
セットにアクセスするためには､ その中に入っているアイテムでつかまなければならないのです｡
それが､ 記憶から情報を得るためのポイントです｡
あるものが存在するかどうかを確認する方法は､ 単純に「ねえ､ 私のセットに1つあるんだけど」といって､ これを実行することです｡
そして､ 私たちは真実を知る｡
また､ 私のセットの長さをやっても5本です｡
今回も特におかしなことはしていないが､ 1､ 2､ 3､ 4､ 5｡
これは決して入力されないので､ ユニークなものだけをカウントすることを忘れないでください｡
セットなんです｡
また､ 別の方法として､ これをリストに変換することもできます｡
ここで「実行」をクリックすると､ 私のセットがリストとして表示されるのがわかると思います｡
そして､ 例えば､ 私のセットをドットコピーして､ 実際に私のセットを何か（例えば､ 新しいもの）にコピーすることもできます｡
あるいは新しいセット､ そしてこれはこのオリジナルのものとは全く違う､ あるいは新しいコピーになります｡
では､ これを検証してみましょう｡
この新しいセット｡
以前にも紹介したことがあるかもしれませんが､ セット・ドット・クリアという方法を使うと､ ご想像の通り､ セットがクリアになり､
実行をクリックします｡
その新しいセットを持っています｡
でも､ 私のセットだったうちの古いセットを印刷しようとすると､ 空っぽの空のセットになってしまうんです｡
しかし､ セットの真の威力は､ これから紹介する2つの方法にあります｡
そして､ セットにはかなりの数のメソッドがありますが､ ほとんどはよく似たものですのでご安心ください｡
では､ 次のビデオでそれを探ってみましょう｡