順序なしのリスト
こんにちは、徳です。
デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。
現在は初心者なので、とにかくゆっくり進んでいくと思います。
また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。
では、いきましょう!
Python
今回は、
セット
です。
Pythonには、
リストやディクショナリのようにたくさんの値を保存するもの
があります。
こちらのセットも、その中の一つです。
この記事では、
- セットとはどういうものか?
- リストやディクショナリとの違いは?
- 使い方
などを紹介します。
それではよろしくお願いします。
セットとは
セットとはどういうもの?
セットとは集合
集合とは、集合です。
ただの集合のため、並び順はありません。
型
set型
リストなどと何が違うの?
Pythonには複数の値をまとめて保存するものに、リストやディクショナリなどがあります。
セットは、リストとディクショナリなどと何が違うでしょうか?
大きな違いとして、
直接一つを取り出せない
データが重複しない
ことです。
セットは一つだけを直接取り出すことができない
セットの中身を、一つ一つを判別する方法は中身しかありません。
- リストやタプル:インデックス番号で判別できる
- ディクショナリ:キーで判別できる
しかし、セットにはインデックス番号もキーもありません。
そのため、セットの中から一つだけを直接指定はできません。
データが重複しない
セットには、並び順がありません。
そのため、同じデータを入れることができません。
並び順がないため、重複しても意味がないですからね。
もしデータが重複した場合、片方は消えます。
どんなときに使う?
セットは、
中に同じデータを入れたくない
ときに使用します。
先ほども書きましたが、
セットは重複したデータは一つにまとめられる
ことになります。
そのため、重複したデータを自然に一つにまとめたいときなどにセットを使用しましょう。
どうやって使うの?
作り方
セット名 ={ 値1 , 値2 , 値3 , ・・・}
{ } 波カッコ
でセットを作成することができます。
セット名には、何の集合かわかるような名前を入れましょう。
ディクショナリも {} 波カッコで作成できます。
違いは、キーを指定しているかどうかです。
データを重複させたくない場合は、キーは指定しないようにしましょう。
呼び出し方
全て呼び出す
セット名
呼び出し方はそのままセット名を書けば良いです。
ここは変数と同じですね。
つまり、
set = {"東京" , "愛知" , "大阪" , "福岡"}
print(f"セットの中身は{set}です。")
このようにprint関数で中身を全て見ることができます。
セットの中の一つを呼び出す
できません
セットには一つ一つの判別方法がないため、直接一つを呼び出すことはできません。
判別できないということは、
指定ができないということです。
データの追加
データを追加するときは、
セット名.add(値)
と書きます。
set = {"東京" , "愛知" , "大阪" , "福岡"}
print(f"セットの中身は{set}です。")
set.add("北海道")
print(f"セットの中身は{set}です。")
データの削除
データを削除するときは、
セット名.remove(値)
と書きます。
set = {"東京" , "愛知" , "大阪" , "福岡"}
print(f"セットの中身は{set}です。")
set.remove("大阪")
print(f"セットの中身は{set}です。")
二つのセットを合わせる
セットを合わせるときは、集合演算子を使用します。
集合演算子とは、
|
合計
&
共通
–
差
などがあります。
set1 = {"東京" , "愛知" , "大阪" , "福岡"} set2 = {"北海道" , "愛知" , "沖縄"} print(f"セットの中身は{set1 | set2}です。") print(f"セットの中身は{set1 & set2}です。") print(f"セットの中身は{set1 - set2}です。")
まとめ
今回は、
セット
について紹介させていただきました。
セットとは、
順番のないデータの集まり
です。
リストやディクショナリなどの一つ一つに対応したものがありません。
そのため、どれか一つを直接表示させることができません。
また、重複するデータは一つにまとまります。
これにより、
重複したデータを別々で保存したくない場合はセットを使用する
ことになります。
最後まで読んでいただき、ありがとうございました。
コメント