0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python認定基礎試験 setに関するメモ

Posted at

Pythonエンジニア認定基礎試験の勉強メモです📝
ここではsetについて。

setとは

集合を扱うデータ型で、要素を重複しないように保持する。
setに要素を追加するには add()メソッドが使用できるが、要素同士は順序を持たないため
要素を取り出す時も、決まった順序で取り出されることはない。
集合同士で、演算も可能。

set()関数で定義できる

set()関数の引数はリストやタプルなどの反復可能体。

# 引数: リスト
set_1 = set(['a', 'b', 'c', 'd'])

# 引数: タプル
set_2 = set((1, 2, 3, 4))

特定の要素を含むかどうかの判定

sample_set = {'sample', 'keyword'}

print('keyword' in sample_set) # True
print('password' in sample_set) # False

この処理の時間計算量はO(1)になる。

set同士の演算

和集合

a, bふたつのsetを対象としたとき、a, bいずれかもしくは両方に含まれる要素を求める。

set_3 = {'apple', 'banana', 'peach'}
set_4 = {'orange', 'cherry', 'apple', 'banana'}

# 演算子で和集合を求める場合
union_1 = set_3 | set_4

# メソッドで和集合を求める場合
union_2 = set_3.union(set_4)

print(union_1) # {'apple', 'banana', 'peach', 'orange', 'cherry'}
print(union_2) # {'apple', 'banana', 'peach', 'orange', 'cherry'}

差集合

a, bふたつのsetを対象とした時、a-bなら、aにはあってbにはない要素を求める。

set_5 = {'Tokyo', 'Osaka', 'Fukuoka'}
set_6 = {'Osaka', 'Fukuoka', 'Okinawa'}

# 演算子で差集合を求める場合
diff_1 = set_5 - set_6

# メソッドで差集合を求める場合
diff_2 = set_5.difference(set_6)

print(diff_1) # {'Tokyo'}
print(diff_2) # {'Tokyo'}

積集合

a, bふたつのsetを対象としたとき、どちらにも共通して含まれる要素を求める。

set_7 = {'dog', 'cat', 'fox', 'deer'}
set_8 = {'fox', 'bird', 'deer', 'cow'}

# 演算子で積集合を求める場合
intersection_1 = set_7 & set_8 # {'fox', 'deer'}

# メソッドで積集合を求める場合
intersection_2 = set_7.intersection(set_8) # {'fox', 'deer'}

対称差

a, bふたつのsetを対象としたとき、どちらかにしか含まれない要素を求める

set_9 = {'red', 'yellow', 'blue', 'green'}
set_10 = {'yellow', 'green', 'pink', 'blue'}

# 演算子で対称差を求める場合
symmetric_diff_1 = set_9 ^ set_10 # {'red', 'pink'}

# メソッドで対称差を求める場合
symmetric_diff_2 = set_9.symmetric_difference(set_10) # {'red', 'pink'}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?