はじめに
現在、コーディング力を向上させるためにpaizaのスキルチェック問題に取り組んでいます。その中で出てきたset型について取り上げてみたいと思います。
公式ドキュメントに書かれた定義を理解してコーディングをできるようになることが目下の目標です。自分なりに公式ドキュメントから読み取った内容を整理してみたいと思います。
python公式ドキュメントのset型の説明はこちらになります。
set型の特徴
集合型と呼ばれるもので、"set"と"frozenset"の二種類がある様です。後者は今のところ使う機会がないので、こんな人いたかも?程度に覚えておきます。
似たようなジャンルにdict(辞書型)、list(リスト型)などがあります。
set型の特徴は、listと比べて
・挿入の順序や要素の位置は記録保持しない
・重複を許容しない
といった点があげられます。
listを使っている際に重複を削除して計算したい時などに便利だと思います。
set型の操作方法
とりあえずおさえておいた方がよさそうなものを取り上げます。
my_set = {1, 2, 3}
とした場合、
1. len
集合の要素数を計算します。
print(len(my_set))
# 3
2. add
要素をsetに追加する。(要素は重複しない)
※set型はappendではなくaddなのですね。
my_set.add(4)
print(my_set)
# {1, 2, 3, 4}
my_set.add(3)
print(my_set)
# {1, 2, 3, 4}
3. remove
要素をsetから取り除く。
setに要素が含まれていない場合はKeyErrorになる。
my_set.remove(3)
print(my_set)
# {1, 2}
my_set.remove(5)
print(my_set)
# KeyError: 5
4. discard
要素がsetに含まれていれば取り除く。含まれていなければなにもおこらない。
my_set.discard(3)
print(my_set)
# {1, 2}
my_set.discard(5)
print(my_set)
# {1, 2}
5. clear
setの全ての要素を取り除く。
my_set.clear()
print(my_set)
# set()
まとめ
今回の記事を足掛かりに、まずは基礎的な部分から公式ドキュメントを確認する習慣を身に着けていきたいと思います。
しかし、この独特な日本語に慣れる日はくるのでしょうか・・・。