Set

PythonのSetは、

  • 反復可能
  • 変更可能
  • 重複する要素を持たない
  • 順序付けされていない

データ型のコレクションです。 集合の要素を追加したり削除したり、集合の要素を繰り返したり、集合に対してさまざまな標準操作(和集合、積集合、差)を実行することができます。

Listとは対照的に、setを使用する主な利点は、特定の要素がsetに含まれているかどうかをチェックするための高度に最適化された方法を持つことです。

setは、反復可能なオブジェクトまたはシーケンスを使用してシーケンスを作成することができます。

シーケンスを中()で囲み、,で区切ります。

setには一意の要素しか含まれていませんが、setの作成時には複数の重複した値を渡すこともできます。

set内の要素の順序は未定義であり、変更できません。set内の要素の型は同じである必要はなく、さまざまな混在するデータ型の値もsetに渡すことができます。

🐶 集合には、List、集合、辞書などの可変要素をその要素として含めることはできません。   🐶Pythonコードの例を示すで

# Python program to demonstrate  
# Creation of Set in Python

# Creating a Set
set1 = set()
print("Intial blank Set: ")
print(set1)

# Creating a Set with  
# the use of a String
set1 = set("coderecipe")
print("\nSet with the use of String: ")
print(set1)

# Creating a Set with
# the use of Constructor
# (Using object to Store String)
String = 'coderecipe'
set1 = set(String)
print("\nSet with the use of an Object: " )
print(set1)

# Creating a Set with
# the use of a List
set1 = set(["codes", "For", "codes"])
print("\nSet with the use of List: ")
print(set1)

# Creating a Set with  
# a List of Numbers
# (Having duplicate values)
set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5])
print("\nSet with the use of Numbers: ")
print(set1)

# Creating a Set with  
# a mixed type of values
# (Having numbers and strings)
set1 = set([1, 2, 'codes', 4, 'For', 6, 'codes'])
print("\nSet with the use of Mixed Values")
print(set1)

🐶動画で動作確認してみよか?

動画で確認

Setに要素を追加する

組み込みのadd()関数を使用して、要素をSetに追加できます。

add()メソッドを使用してsetに追加できる要素は一度に1つのみです。

ループを使用してadd()メソッドを使用して一度に複数の要素を追加するのに対し、update()メソッドは2つ以上の要素を追加します。

update()メソッドは、List、文字列、Tuple、その他のsetを引数として受け取ります。

これらすべての場合において、重複する要素は避けられます。

🐶 Listはハッシュできへんから、Listを要素としてsetに追加することはできへんで。TupleはSetに追加できるで。   🐶Pythonコードの例を示すで

# Python program to demonstrate  
# Addition of elements in a Set

# Creating a Set
set1 = set()
print("Intial blank Set: ")
print(set1)

# Adding element to the Set
set1.add(8)
set1.add(9)
set1.add(12)
print("\nSet after Addition of Three elements: ")
print(set1)

# Adding elements to the Set
# using Iterator
for i in range(1, 6):
    set1.add(i)
print("\nSet after Addition of elements from 1-5: ")
print(set1)

# Adding Tuples to the Set
set1.add((6,7))
print("\nSet after Addition of a Tuple: ")
print(set1)

# Addition of elements to the Set
# using Update function
set1.update([10, 11])
print("\nSet after Addition of elements using Update: ")
print(set1)

🐶動画で動作確認してみよか?

動画で確認

Setから要素を除去する

組み込みのremove()関数を使用してsetから要素を削除できますが、要素がsetに存在しない場合はKeyErrorが発生します。

KeyErrorなしで要素をsetから削除するには、discard()を使用します。要素がsetに存在しない場合は、変更されません。

pop()関数を使用してsetから要素を削除して返すこともできますが、それはsetの最後の要素のみを削除します。

setからすべての要素を削除するには、clear()関数を使用します。

🐶 setが順序付けされていない場合は、pop()関数を使用してポップされた要素を特定する方法はありません。   🐶Pythonコードの例を示すで

# Python program to demonstrate  
# Addition of elements in a Set

# Creating a Set
set1 = set([1, 2, 3, 4, 5, 6,  
            7, 8, 9, 10, 11, 12])
print("Intial Set: ")
print(set1)

# Removing elements from Set
# using Remove() method
set1.remove(5)
set1.remove(6)
print("\nSet after Removal of two elements: ")
print(set1)

# Removing elements from Set
# using Discard() method
set1.discard(8)
set1.discard(9)
print("\nSet after Discarding two elements: ")
print(set1)

# Removing elements from Set
# using iterator method
for i in range(1, 5):
    set1.remove(i)
print("\nSet after Removing a range of elements: ")
print(set1)

# Removing element from the  
# Set using the pop() method
set1.pop()
print("\nSet after popping an element: ")
print(set1)

# Removing all the elements from  
# Set using clear() method
set1.clear()
print("\nSet after clearing all the elements: ")
print(set1)

🐶動画で動作確認してみよか?

動画で確認

frozenset

Pythonのfrozensetは不変オブジェクトで、適用されるfrozensetに影響を与えずに結果を生成するメソッドと演算子のみをサポートします。

setの要素はいつでも変更できますが、frozensetの要素は作成後も変わりません。

パラメータが渡されない場合は、空のフリーズsetを返します。

🐶Pythonコードの例を示すで

# Python program to demonstrate  
# working of a FrozenSet  

# Creating a Set
String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r')

Fset1 = frozenset(String)
print("The FrozenSet is: ")
print(Fset1)

# To print Empty Frozen Set
# No parameter is passed
print("\nEmpty FrozenSet: ")
print(frozenset())

🐶動画で動作確認してみよか?

動画で確認

🐶Pythonのset少しはわかった? 🐍Pythonのset理解した。

Last Updated: 5/19/2019, 2:16:56 AM