1. ホーム
  2. python

セット差分とセット減算の比較

2023-08-18 20:08:53

質問

何が -.difference() をセットで使うことができますか?明らかに構文は同じではありません。一方は二項演算子で、もう一方はインスタンスメソッドです。他に何かありますか?

s1 = set([1,2,3])
s2 = set([3,4,5])

>>> s1 - s2
set([1, 2])
>>> s1.difference(s2)
set([1, 2])

どのように解決するのですか?

set.difference, set.union... を取ることができます。 任意のイテラブル を使うには両方がセットされている必要がありますが、2番目の引数として - を使用する場合は、出力に違いはありません。

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t

.differenceを使えば、こんなことができます。

s1 = set([1,2,3])

print(s1.difference(*[[3],[4],[5]]))

{1, 2}

を使用してセットを作成する場合にも、より効率的です。 *(iterable,iterable) 構文を使用してセットを作成する場合、中間セットを作成しないため、より効率的です。 ここで