Pythonの集合型
提供: Python入門
スポンサーリンク
集合型(set型,セット型)は、Pythonのデータ型の1つで、リストに似ています。
読み方
- 集合型
- しゅうごうがた
- sets
- せっつ
目次
概要
集合型(セット型,set型)は、リストやディクショナリと似たデータ型です。
リストとの違いは
- 要素に順番がない
- 重複した要素を持たない
です。
セットの作り方
>>> s = set([1,2,3]) >>> s set([1, 2, 3])
リストではなく、文字列を渡すとこうなります。
>>> t = set("hoge") >>> t set(['h', 'e', 'g', 'o'])
データは重複しない
このように 集合型では、データは重複しません。
>>> s = set([1,2,3,1,2,3]) >>> s set([1, 2, 3])
ディクショナリ型を集合型にすると
ディクショナリ型(辞書型)を集合型にすると、キー名の集合になります。
>>> d = {'a':1,'b':2,'c':3} >>> d {'a': 1, 'c': 3, 'b': 2} >>> e = set(d) >>> e set(['a', 'c', 'b'])
集合の要素数を調べる
>>> s = set([1,2,3]) >>> len(s) 3
要素を追加する
>>> s = set([1,2,3]) >>> s.add(4) set([1, 2, 3, 4 ])
要素を削除する
>>> s = set([1,2,3]) >>> s.remove(2) >>> s set([1, 3])
コレクションの要素を追加する
>>> s = set([1,2,3]) >>> s set([1, 2, 3]) >>> t = set([4,5,6]) >>> s.update(t) >>> s set([1, 2, 3, 4, 5, 6])
セットを空にする
>>> s = set([1,2,3]) >>> s.clear() >>> s set([])
ソースコード
langs = set(['c', 'c++', 'python'])
セットの集合演算を行えます
- s1.issubset(s2)
- s1 が s2 の 部分集合 であれば真を返します
- s1.issuperset(s2)
- s2 が s1 の 部分集合 であれば真を返します
- s1.intersection(s2)
- s1 が s2 の 積 (s1 & s2) を求めます
- s1.union(s2)
- s1 が s2 の 和 (s1 | s2) を求めます
- s1.difference(s2)
- s2 に現れない s1 の 要素を求めます (s1 - s2)
- s1.symmetric_difference(s2)
- s1 が s2 の 両方に一度だけ現れる要素を求める (s1 ^ s2)
>>> s2 = set([1,2,3]) >>> s1 = set([1,2]) >>> s1.issubset(s2) True
メンバーのテスト
集合に、指定したものが含まれるか確認できます。
>>> s = set([1,2,3]) >>> 3 in s True >>> 5 in s False >>> 5 not in s True
上記のコードは、以下の意味になります。
- 1,2,3 の集合に 3 が含まれるか? True(真)
- 1,2,3 の集合に 5 が含まれるか? False(偽)
- 1,2,3 の集合に 5 が含まれれないか? True(真)
関連項目
- Pythonのリスト型
- Pythonの集合型
- Pythonの辞書
- メインページ
ツイート
スポンサーリンク