※この記事はUdemyの
「現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル」
の講座を受講した上での、自分用の授業ノートです。
講師の酒井潤さんから許可をいただいた上で公開しています。
##■集合型
#####◆基本
>>> a = {1, 2, 2, 3, 4, 4, 4, 5, 6}
>>> a
{1, 2, 3, 4, 5, 6}
>>> type(a)
<class 'set'>
{}
は辞書型でも使ったが、今回keyとvalueにはなっておらず、集合型となる。
このとき、重複している要素は1つにまとまる。
#####◆集合の引き算
>>> a = {1, 2, 3, 4, 5, 6}
>>> b = {2, 3, 6, 7}
>>> a - b
{1, 4, 5}
>>> b - a
{7}
a - b
により、「a」から「aかつb」が除かれ、
b - a
により、「b」から「aかつb」が除かれている。
#####◆a かつ b
>>> a = {1, 2, 3, 4, 5, 6}
>>> b = {2, 3, 6, 7}
>>> a & b
{2, 3, 6}
#####◆a または b
>>> a = {1, 2, 3, 4, 5, 6}
>>> b = {2, 3, 6, 7}
>>> a | b
{1, 2, 3, 4, 5, 6, 7}
#####◆a ^ b
>>> a = {1, 2, 3, 4, 5, 6}
>>> b = {2, 3, 6, 7}
>>> a ^ b
{1, 4, 5, 7}
「a または b」から「a かつ b」を除いたもの。
aとbどちらか一方にのみあるもの。
#####◆ちなみに+
>>> a = {1, 2, 3, 4, 5, 6}
>>> b = {2, 3, 6, 7}
>>> a + b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'set' and 'set'
a + b
だとエラーになる。