Pythonのコレクション(セット)
Python では、セット (Set) は順序付けがなく、繰り返される要素を持たないデータ構造です。コレクションは中括弧{}
またはset()
作成されます。リストやディクショナリなどの他のコンテナ タイプとは異なり、コレクション内の要素は不変 (変更不可) であり、固定された順序はありません。
特徴:
- セット内の要素は一意であり、重複する要素はありません。
- コレクションには順序付けがなく、インデックスによって要素にアクセスしたり変更したりすることはできません。
- コレクション内の要素は不変型 (数値、文字列、タプルなど) である必要があり、変更可能なオブジェクト (リスト、辞書など) を含めることはできません。
コレクションを作成します。
中括弧{}
またはset()
関数を使用して空のコレクションを作成したり、中括弧内に要素を追加して初期値を持つコレクションを作成したりできます。以下にいくつかの例を示します。
empty_set = set() # 创建空集合
fruits = {
'apple', 'banana', 'orange'} # 创建含有字符串的集合
mixed = {
1, 'hello', True, 3.14} # 集合包含不同类型的元素
コレクションにアクセスして操作します。
コレクションは順序付けされておらず、インデックス付けできないため、コレクション内の特定の要素に直接アクセスする方法はありません。通常、要素の追加、要素の削除、コレクション内に要素が存在するかどうかの判断などの一般的な操作を実行するには、コレクション メソッドを使用します。
fruits = {
'apple', 'banana', 'orange'}
fruits.add('melon') # 添加元素'melon'
print(fruits) # 输出: {'banana', 'apple', 'orange', 'melon'}
fruits.remove('banana') # 删除元素'banana'
print(fruits) # 输出: {'apple', 'orange', 'melon'}
print('apple' in fruits) # 检查元素'apple'是否存在,输出: True
一般的な操作:
コレクションは、次のようなさまざまな操作を実行するためのいくつかの一般的なメソッドを提供します。
- 和集合、積集合、および差分: メソッドを使用して、2 つのセット間で和集合、積集合、および差分の演算を実行できます。
set1 = {
1, 2, 3}
set2 = {
2, 3, 4}
union = set1.union(set2) # 并集
print(union) # 输出: {1, 2, 3, 4}
intersection = set1.intersection(set2) # 交集
print(intersection) # 输出: {2, 3}
difference = set1.difference(set2) # 差集
print(difference) # 输出: {1}
- サブセットとスーパーセット:
issubset()
およびissuperset()
メソッドを使用して、セットが別のセットのサブセットであるかスーパーセットであるかを判断できます。
set1 = {
1, 2}
set2 = {
1, 2, 3, 4}
print(set1.issubset(set2)) # 判断set1是否是set2的子集,输出: True
print(set2.issuperset(set1)) # 判断set2是否是set1的超集,输出: True
- その他の一般的な操作: コレクションは、カウント、長さ、および空にする操作もサポートしており、対応するメソッドを使用してこれらの操作を完了できます。
fruits = {
'apple', 'banana', 'orange'}
count = len(fruits) # 获取集合中的元素个数
print(count) # 输出: 3
fruits.clear() # 清空集合
print(fruits) # 输出: set()
アプリケーションシナリオ:
コレクションは、次のような状況でよく使用されます。
- 重複排除: リストやその他の反復可能なオブジェクトから重複した要素をすばやく削除できます。
- 数学的演算: 和集合、交差、差分などの数学的演算をセットに対して実行できます。
- 一意の要素の保存: 一意の値を保存する必要があり、順序を気にしない場合は、セットが適しています。
以上、Pythonにおけるコレクションについての詳しい説明でした。コレクションは、効率的な要素検索および重複排除機能を提供する、非常に実用的で柔軟なデータ構造です。セットは、データ処理、アルゴリズム設計などの多くのシナリオで広く使用されています。