Python set() 関数
set()これは Python で可変集合(set)を作成するための組み込み関数です。
集合は、順序がなく重複しない要素の集まりであり、数学における集合の概念に似ています。set()この関数は他のイテラブルオブジェクトから集合を作成でき、重複の除去や集合演算などの場面でよく使用されます。
単語の意味: set「集合」を意味し、Python における順序のない重複しない要素の集合です。
基本構文とパラメータ
構文形式
set(iterable)
パラメータの説明
- パラメータ iterable:
- 型: イテラブルオブジェクト
- 説明: 集合に変換するイテラブルオブジェクト。
関数の説明
- 戻り値: 可変集合を返します。
- 特殊値: 引数を指定しない場合は空集合を返します。
set()(注意:{}作成されるのは空の辞書です)。
例
例1:集合の作成
例
# リストから作成(自動的に重複除去)
lst = [1, 2, 2, 3, 3, 3, 4]
s = set(lst)
print(s) # 出力: {1, 2, 3, 4}
# 文字列から作成
s = set("hello")
print(s) # 出力: {'h', 'e', 'l', 'o'}
# タプルから作成
t = (1, 2, 3, 2, 1)
s = set(t)
print(s) # 出力: {1, 2, 3}
# 辞書から作成(キーのみ取得)
d = {"a": 1, "b": 2, "c": 3}
s = set(d)
print(s) # 出力: {'a', 'b', 'c'}
# 空集合
s = set()
print(s) # 出力: set()
print(type(s)) # 出力: <class 'set'>
lst = [1, 2, 2, 3, 3, 3, 4]
s = set(lst)
print(s) # 出力: {1, 2, 3, 4}
# 文字列から作成
s = set("hello")
print(s) # 出力: {'h', 'e', 'l', 'o'}
# タプルから作成
t = (1, 2, 3, 2, 1)
s = set(t)
print(s) # 出力: {1, 2, 3}
# 辞書から作成(キーのみ取得)
d = {"a": 1, "b": 2, "c": 3}
s = set(d)
print(s) # 出力: {'a', 'b', 'c'}
# 空集合
s = set()
print(s) # 出力: set()
print(type(s)) # 出力: <class 'set'>
実行結果の想定:
{1, 2, 3, 4}
{'h', 'e', 'l', 'o'}
{1, 2, 3}
{'a', 'b', 'c'}
set()
<class 'set'>
コード解析:
- 集合は自動的に重複した要素を除去します。
- 集合は順序を持たないため、要素の順序は異なる場合があります。
- 注意:
{}作成されるのは空の辞書であり、空の集合ではありません。
例2:集合演算
例
# 2つの集合を作成
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# 和集合
print(A | B) # 出力: {1, 2, 3, 4, 5, 6}
print(A.union(B)) # 出力: {1, 2, 3, 4, 5, 6}
# 積集合
print(A & B) # 出力: {3, 4}
print(A.intersection(B)) # 出力: {3, 4}
# 差集合(A - B)
print(A - B) # 出力: {1, 2}
print(A.difference(B)) # 出力: {1, 2}
# 対称差集合
print(A ^ B) # 出力: {1, 2, 5, 6}
print(A.symmetric_difference(B)) # 出力: {1, 2, 5, 6}
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# 和集合
print(A | B) # 出力: {1, 2, 3, 4, 5, 6}
print(A.union(B)) # 出力: {1, 2, 3, 4, 5, 6}
# 積集合
print(A & B) # 出力: {3, 4}
print(A.intersection(B)) # 出力: {3, 4}
# 差集合(A - B)
print(A - B) # 出力: {1, 2}
print(A.difference(B)) # 出力: {1, 2}
# 対称差集合
print(A ^ B) # 出力: {1, 2, 5, 6}
print(A.symmetric_difference(B)) # 出力: {1, 2, 5, 6}
実行結果の想定:
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{3, 4}
{3, 4}
{1, 2}
{1, 2}
{1, 2, 5, 6}
{1, 2, 5, 6}
集合は、和集合、積集合、差集合、対称差集合といった豊富な集合演算をサポートしています。
その他の拡張