集合型のメソッド一覧

ここは集合で使われるメソッドについてのページです

x in set:x が集合 set の要素であれば True

	>>> set = {1, 2, 3}
	>>> 1 in set
	True
	>>> 4 in set
	False
	

x not in set:x が集合 set の要素でなければ True

	>>> set = {1, 2, 3}
	>>> 5 not in set
	True
	

set < set1:集合setが集合set1の真部分集合であれば Trueを返します

これは、set <= set1 and set != set1 と等価になります。

set > set1:集合set1が集合setの真部分集合であれば True

これは、set >= set1 and set != set1 と等価になります。

set.difference(set1, set2, …):集合setに含まれて、かつ、set1, set2, ・・・すべてに含まれない要素を持つ集合

この演算は、set - set1 - set2 -・・・と同等になります。差集合です。difference は違いや、相違という意味。
集合 set から、set1, set2, set3 との共通部分を次々取り除いていくという感覚となります。

	>>> set = {1, 2, 3, 4, 5}
	>>> set1 = {1, 2, 6, 7}
	>>> set2 = {2, 4, 6}
	>>> set.difference(set1, set2)
	{3, 5}
	

set.intersection(set1, set2, …):集合 set, set1, set2, ・・・の積集合(共通集合)

set & set1 & set2 & ・・・と同等になります。積集合を返します。intersection は共通集合という意味です。

>>> set = [1, 2, 3]
>>> set1 = [2, 3, 4, 5]
>>> set2 = [2, 3, 4]
>>> set & set1 & set2
[2, 3]

isdisjoint:集合 set 集合 set1 の共通集合が空集合であれば True

	>>> set = {1, 2, 3}
	>>> set1 = {5, 6, 7}
	>>> set.isdisjoint(set1)
	True
	
disjoint はバラバラのとかいう意味です。英語の勉強になりますね汗

set.issubset(set1):集合 set が集合 set1 の部分集合であれば True

これは、set <= set1 と同等になります。set が set1 に含まれているか、同じであれば True を返します.

	>>> set = {2, 3, 4}
	>>> set1 = {1, 2, 3, 4, 5, 6}
	>>> set.issubset(set1)
	True
	

set.issuperset(set1):集合 set1 が集合 set の部分集合であれば True

これは、set >= set1 と同等になります。set1 がsetに含まれているか、もしくは全く同じであればTrueが
返ります。

	>>> set = {1, 2, 3, 4, 5, 6}
	>>> set1 = {2, 3, 4}
	>>> set.issuperset(set1)
	True
	

len:要素数を返す

lenは、レングスと読みますが、長さという意味で、だいたいlenが来ると長さという意味になります。

>>> s = {1, 2, 3, 4, 5}
>>> len(s)
5

set.symmetric_difference(set1):集合setとset1のいずれか一方だけに含まれる要素の集合

この演算は、set ^ set1 と同等です。共通した要素は表示されません。

	>>> set = {1, 2, 3, 4}
	>>> set1 = {3, 4, 5}
	>>> set ^ set1
	{1, 2, 5}
	

union:set,set1,set2,set3,・・・の和集合

これは、set | set1 | set2 | set3 | … と同等になります。集合を重複なく集める感覚です。

	>>> set = {1, 2, 3}
	>>> set1 = {2, 3, 4, 5}
	>>> set2 = {2, 3, 4}
	>>> set.union(set1, set2)
	{1, 2, 3, 4, 5}	
	

copy:集合 set の浅いコピー

以下に示す演算は、set には適用可能ですが、変更不可能である frozenset には適用できません。

set.add(element)

要素setに要素elementを追加します。同じ要素がすでに存在する場合は無視されます。

	>>> number_set = {10, 20, 30}
	>>> number_set.add(40)
	>>> number_set.add(50)
	>>> number_set.add(10)	# 値が重複すると追加されない。
	>>> print(number_set)
	{10, 20, 30, 40, 50}
	

set.clear()

集合 set のすべての要素を削除。

	>>> set = {1, 2, 3, 4, 5}
	>>> set.clear()
	>>> set
	set()
	

set.remove(element):要素setから要素elementを削除.

要素 element が set に含まれていなければ KeyError を返す。引数は集合でもOKです。

set.discard(element):集合setに要素elementが含まれていれば削除.

discard は切り捨てるという意味の英語です。こちらも引数は集合でも OK です。

	>>> set = {1, 2, 3}
	>>> set.discard(4)
	>>> set
	{1, 2, 3}
	>>> set.discard(3)
	>>> set
	{1, 2}
	

set.pop()

集合 set から任意の要素を削除し、それを返します。集合が空の場合は、KeyError が返ります。

	>>> set = {1, 2, 3, 4, 5}
	>>> set.pop()	
	1
	>>> set.pop()
	2
	>>> set.pop()
	3
	>>> set.pop()
	4
	>>> set.pop()	# 最後まで取り出して削除
	5
	>>> set		# 空になった
	set()
	
適当な数値を入れた別の集合で試しに実行してみたところ、小さい順に表示されました。

set.intersection_update(set1, set2, …):集合 set, set1, set2, ・・・の積集合で集合 set の更新

set &= set1 & set2 & set3 & ・・・と同等。わかりにくいため、例を示します。

	>>> set = {1, 2, 3}
	>>> set1 = {2, 3, 4, 5}
	>>> set2 = {2, 3}
	>>> set &= set1 & set2
	>>> set
	{2, 3}
	

set.difference_update(set1, set2, …):集合setに含まれて、かつ、set1, set2, ・・・全てに含まれない要素を持つ集合で 集合set を更新

set -= set1 - set2 - set3 ・・・と同等。わかりにくいため、例を示します。

	>>> set = {1, 2, 3, 4, 5}
	>>> set1 = {1, 2, 6, 7}
	>>> set2 = {2, 4, 6}
	>>> set.difference_update(set1, set2)
	>>> set
	{3, 5}
	

set.symmetric_difference_update(set1):集合 set と set1 のいずれか一方だけに含まれる要素を持つ集合で集合 set を更新

set ^= set1 と同等。

set.update(set1, set2, …):集合 set, set1, set2, ・・・の和集合で集合 set を更新する

set |= set1 | set2 | ・・・と同等。

	>>> set = {1, 2, 3}
	>>> set1 = {2, 3, 4, 5, 6}
	>>> set2 = {2, 3, 4}
	>>> set.update(set1, set2)
	>>> set
	{1, 2, 3, 4, 5, 6}