ホームページ > バックエンド開発 > Python チュートリアル > Pythonでsetメソッドを使用する方法

Pythonでsetメソッドを使用する方法

王林
リリース: 2023-05-11 14:31:28
転載
5080 人が閲覧しました

1. はじめに

Python では、set はセット データ型であり、順序付けされておらず、繰り返しのないセットを表します。 set() メソッドを使用すると、空のコレクションを作成したり、他の反復可能なオブジェクトをコレクションに変換したりできます。他の Python データ型とは異なり、セットにはインデックスがなく、その要素にインデックスによってアクセスすることはできませんが、セット内の要素を操作してアクセスするために使用できるメソッドがあります。 set() メソッドを使用して空のコレクションを作成します。

2. よく使用される set() メソッドの詳細説明

1.add(): set コレクションに要素を追加します。

# add()语法如下:
set.add(elmnt)

# 案例如下:
set1 = {1,2,3}
set1.add(4)
print(set1)

# 输出结果如下
{1, 2, 3, 4}
ログイン後にコピー

2.clear(): セットのコレクションからすべての要素を削除します

# clear()语法如下:
set.clear()
# 案例如下:
set1 = {1, 2, 3}
set1.clear()
print(set1)
# 输出结果如下:
set()
ログイン後にコピー

3.copy(): コレクションをコピーするために使用されます、 copy( ) メソッドを使用すると、元のコレクションの完全なコピーが作成され、コピーされたコレクションに対する操作は元のコレクションには影響しません。

# 语法如下:
new_set = old_set.copy()
# 案列如下:
set1 = {1, 2, 3}
set2 = set1.copy()
set2.add(4)
print(set1)
print(set2)
# 输出结果如下:
{1, 2, 3}
{1, 2, 3, 4}
# 首先,我们创建了一个原始集合,然后使用copy方法创建了一个新集合,并在新集合中添加了一个元素4,
# 最后,我们打印了原始集合和复制出的新集合,可以看到两个集合互不影响。
ログイン後にコピー

4.difference(): このメソッドは、セットの差分セットを返すために使用されます。つまり、返されたセット要素は最初のセットには含まれますが、最初のセットには含まれません。 2 番目のセット (メソッドパラメータ)。

# 语法如下:
set1.difference(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.difference(set2))
# 输出结果如下:
{1}
ログイン後にコピー

5.difference_update(): メソッドは、コレクションの両方に存在する要素を削除するために使用されます。

difference_update() メソッドとDifference() メソッドの違い違いは、difference() メソッドは同じ要素が削除された新しいコレクションを返すのに対し、difference_update() メソッドは値を返さずに元のコレクションから要素を直接削除することです。

# 语法如下:
set1.difference_update(set2)
# 案例如下:
set1 = {1, 2, 3, 4, 5}
set2 = {2, 3, 4}
set1.difference_update(set2)
print(set1)
# 输出结果如下
{1, 5}
ログイン後にコピー

6.discard() メソッドの構文: Discard() メソッドは、指定されたコレクション要素を削除するために使用されます。

このメソッドは、remove() メソッドとは異なります。remove() メソッドでは、存在しない要素を削除するときにエラーが発生しますが、discard() メソッドではエラーが発生しません。

# 语法如下:
set.discard(value)
# 案例如下
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.discard(2), set2.discard(3)
print(set1, set2)
# 输出结果如下:
{1, 3} {2, 4}
# 删除不存在元素,不会引发任何异常
set1.discard(4)
print(set1)
# 输出结果如下
{1, 2, 3}
ログイン後にコピー

7. Intersection() メソッドは、2 つ以上のセットに含まれる要素、つまり交差を返すために使用されます。

# 语法如下:
set1.intersection(set2, set3, ...)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1.intersection(set2)
print(set3)
# 输出结果如下:
{2, 3}
ログイン後にコピー

8. Intersection_update() メソッドは、2 つ以上のセットで重複する要素を取得する、つまり交差を計算するために使用されます。

Intersection_update() メソッドは、intersection() メソッドとは異なります。intersection() メソッドは新しいセットを返すのに対し、intersection_update() メソッドは元のセット上の重複しない要素を削除します。

# 语法如下:
set1.intersection_update(set2, set3, ...)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.intersection_update(set2)
print(set1)
# 输出结果如下:
{2, 3}
ログイン後にコピー

9.isdisjoint() メソッドは、2 つのセットに同じ要素が含まれているかどうかを判断するために使用されます。含まれていない場合は True を返し、そうでない場合は False を返します。

# 语法如下:
set1.isdisjoint(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {4, 5, 6}
print(set1.isdisjoint(set2))
print(set3.isdisjoint(set1))
# 输出如果如下:
False
True
ログイン後にコピー

10.issubset() メソッドは、セットが別のセットのサブセットであるかどうかを判断するために使用されます。あるセットのすべての要素が別のセットに含まれている場合は True を返し、それ以外の場合は False を返します

# 语法如下:
set1.issubset(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {1, 2, 3, 4}
print(set1.issubset(set2))
print(set1.issubset(set3))
# 输出结果如下:
False
True
ログイン後にコピー

11.issuperset() メソッドを使用して、あるセットが別のセットであるかどうかを判断します。セットのスーパーセット。セットに別のセットのすべての要素が含まれている場合、そのセットは他のセットのスーパーセットであり、issuperset() メソッドは True を返し、それ以外の場合は False を返します。

# 语法如下:
set1.issuperset(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {1, 2, 3, 4}
print(set1.issuperset(set2))
print(set3.issuperset(set1))
# 输出结果如下:
False
True
ログイン後にコピー

12.pop() メソッドは、要素をランダムに削除し、要素の値を返すために使用されます。

# 语法如下:
set.pop()
# 案例如下:
# 随机移除一个元素:
set1 = {1, 2, 3, 4}
set1.pop()
print(set1)
# 结果如下:
{2, 3, 4}
# 输出返回值:
set1 = {1, 2, 3, 4}
print(set1.pop())
# 结果如下:
1
ログイン後にコピー

13.remove() メソッドは、指定された要素をコレクションから削除するために使用されます。

このメソッドは、存在しない要素を削除するときに、remove() メソッドではエラーが発生しますが、discard() メソッドではエラーが発生しないため、discard() メソッドとは異なります。

# 语法如下:
set.remove(item)
# 案例如下:
set1 = {1, 2, 3, 4}
set1.remove(4)
print(set1)
# 输出结果如下:
{1, 2, 3}
ログイン後にコピー

14. metric_difference() メソッドは、2 つのセット内の重複しない要素のセットを返します。つまり、両方のセットに存在する要素を削除します。つまり、次の値を返します。 2 つのセット内で互いに異なる要素、要素のコレクション。

# 语法如下:
set1.symmetric_difference(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.symmetric_difference(set2))
# 输出结果如下:
{1, 4}
ログイン後にコピー

15. metric_difference_update() メソッドは、指定された別のコレクションの現在のコレクションから同じ要素を削除し、別の指定されたコレクションから現在のコレクションに異なる要素を挿入します。

# 语法如下:
set1.symmetric_difference_update(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4, 5}
set1.symmetric_difference_update(set2)
print(set1)
# 输出结果如下:
{1, 4, 5}
ログイン後にコピー

16. Union() メソッドは、すべてのセットの要素を含む 2 つのセットの和集合を返します。重複する要素は 1 回だけ表示されます。

# 语法如下:
set1.union(set2)
# 案例如下:
# 合并两个集合,重复元素只会出现一次:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.union(set2))
# 输出结果如下:
{1, 2, 3, 4}
# 合并多个集合:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5, 6, 7}
print(set1.union(set2, set3))
# 输出结果如下:
{1, 2, 3, 4, 5, 6, 7}
ログイン後にコピー

17.update(): メソッドは、現在のコレクションを変更するために使用されます。現在のコレクションに新しい要素またはコレクションを追加できます。追加された要素がすでにコレクションに存在する場合、その場合、要素は 1 回だけ表示され、重複は無視されます。

# 语法如下:
set1.update(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.update(set2)
print(set1)
# 结果如下:
{1, 2, 3, 4}
ログイン後にコピー

3. 概要

1. 空のコレクションを作成する

set() メソッドを使用して空のコレクションを作成するのは非常に簡単です。 set() メソッドを呼び出すだけで、空のセット オブジェクトを作成できます。

# 例子:
set_data = set()
print(set_data)
# 输出结果如下:
set()
ログイン後にコピー

2. 反復可能オブジェクトをセットに変換する

set() メソッドは、他の反復可能オブジェクト (リスト、タプル、文字列など) をセットに変換することもできます。

# 案例:
list1 = [1, 2, 3, 4, 5]
set1 = set(list1)
print(set1)
tuple1 = (1, 2, 3, 4, 5)
set2 = set(tuple1)
print(set2)
str1 = "Hello, world!"
set3 = set(str1)
print(set3)
# 输出结果如下:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{'d', 'H', 'o', ',', 'l', 'e', '!', 'r', 'w', ' '}
ログイン後にコピー

3. set() メソッドのその他の使用法

文字列を個々の文字に分割し、セットに格納します。

# 例子:
str2 = "Python"
set4 = set(str2)
print(set4)
# 输出结果:
{'h', 't', 'o', 'n', 'P', 'y'}
ログイン後にコピー

4. 結論

コレクション オブジェクトには、コレクション内の要素を追加、削除、結合、比較、操作するための多くの組み込みメソッドがあります。以下に、セット オブジェクトの一般的なメソッドをいくつか示します。

  • add(): 単一の要素をセットに追加するために使用されます。

  • clear(): コレクション内のすべての要素をクリアするために使用されます。

  • copy(): コレクションのコピーを作成するために使用されます。

  • difference(): 2 つのセットの差を返すために使用されます。

  • difference_update(): コレクション内の別のコレクションと同じ要素を削除するために使用されます。

  • discard(): コレクション内の指定された要素を削除するために使用されます。

  • intersection(): 2 つのセットの共通部分を返すために使用されます。

  • intersection_update(): コレクション内の同じ要素を別のコレクションとして保持するために使用されます。

  • isdisjoint(): 2 つのセットに共通の要素がないかどうかを判断するために使用されます。

  • issubset(): セットが別のセットのサブセットであるかどうかを判断するために使用されます。

  • issuperset(): セットが別のセットのスーパーセットであるかどうかを判断するために使用されます。

  • pop(): 要素をランダムに削除するために使用されます。

  • remove(): 指定された要素をコレクションから削除するために使用されます。

  • symetric_difference(): 2 つのセットの対称差を返すために使用されます。

  • symetric_difference_update(): セット内の非共通要素を保持し、共通要素を削除するために使用されます。

  • union(): 2 つのセットの和集合を返すために使用されます。

  • update(): あるコレクションから別のコレクションに要素を追加するために使用されます。

これらのメソッドは、コレクション オブジェクトのメソッド名を呼び出し、必要なパラメータを指定することで使用できます。たとえば、add() メソッドを使用して単一の要素をコレクションに追加し、update() メソッドを使用してあるコレクションから別のコレクションに要素を追加します。

以上がPythonでsetメソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート