2011-07-12 19 views
2

Pythonセットでは、なぜ要素の増強がサポートされていますが、追加はサポートされていませんか?例えばPythonでは、追加で追加されたセットの追加はサポートされていませんか?

sが可変設定されている場合:

s = set(['e', 'd', 'h', 's']) 

s -= set('ds')s = set(['e', 'h'])

を与えるが、これはTypeErrors += set('pk')と結果のために動作しません。

+0

作品罰金(2.6)。 – DrTyrsa

+0

'-'を使うと、セットから要素を削除します。 '+'を使ってそれらを追加することはできません。これはおそらく、これが示唆しているように、あなたのセットに 'e'を2回置くことができるので、' | 'を使うのがより簡単です。これは私自身の解釈です:) – phant0m

答えて

1

あなたが何をしたいの正しい構文がセットの場合

s |= set('ds') 

あるs = set('edhs')

9

を想定し、s | set('ds')を使用することができ、二項演算子|&^が労働組合のために使用され、交差点と対称差である。私は+が有効なセット操作とみなされない理由は、in set theoryであるため、-であると考えられます。

道の間の素敵な対称性が整数と、彼らはセットで作業途中でこれら三つの二項演算子の仕事があります:

set("1234") & set("1456") == set(['1', '4']) 
bin(0b111100 & 0b100111) == '0b100100' 
#  1234  1 456   1 4 

set("14") | set("456") == set(['1', '5', '4', '6']) 
bin(0b100100 | 0b000111) == '0b100111' 
#  1 4   456   1 456 

set("14") ^set("456") == set(['1', '5', '6']) 
bin(0b100100^0b000111) == '0b100011' 
#  1 4   456   1 56 
+0

これは優れた例です。よくやった! –

1

全てのPythonチュートリアルの最初には、あなたの最高の友人であり、あなたが必要なすべての情報が含まれています。あなたは、Pythonのセットタイプについての詳細情報を取得するには次のリンクを見てとることができます。http://docs.python.org/release/2.7/library/stdtypes.html?highlight=set.difference#set-types-set-frozenset

あなたは、この目的のためにunion method設定使用することができます(他の、...)と同じである

組合セット|その他| ...

Return a new set with elements from the set and all others. 
baseSet = set('abcd') 
baseSet = baseSet.union('zx') 

またはセットupdate method使用:

更新(他に、...)に設定と同じです|その他= |私のために...

Update the set, adding elements from all others. 
baseSet = set('abcd') 
baseSet.update('zx') 
関連する問題