-1
私はx = (1, 2)
というタプルxを持っていますが、私はzを設定しています。Pythonのメンバーシップを設定します
z = set(x)
1 in z # True
2 in z # True
x in z # False
このエラーが発生する理由とどのように私はセットにタプルを追加することができますし、タプルとしての性質を維持する:私はこれを行うと仮定?
私はx = (1, 2)
というタプルxを持っていますが、私はzを設定しています。Pythonのメンバーシップを設定します
z = set(x)
1 in z # True
2 in z # True
x in z # False
このエラーが発生する理由とどのように私はセットにタプルを追加することができますし、タプルとしての性質を維持する:私はこれを行うと仮定?
てみてくださいではなく、これらのいずれかを行う:
z = {x}
z = set([x])
z = set(); z.add(x)
z = set(); z.update([x])
セットコンストラクタにタプルを渡します。あなたはこのようにそれを渡したい場合:
x = ((1, 2),)
z = set(x)
1 in z # False
2 in z # False
(1, 2) in z # True
コンストラクタを使用しますあなたがドキュメントを読んでも分かるように、タプルはiterableをとります。したがって、タプルのすべての要素を含むセットを作成します。あなたのセットにタプルを追加するには、単純に 'add'メソッドを使います – njzk2
セットコンストラクタは引数として_iterable_をとります。あなたのタプルは2要素の繰り返し可能です。あなたは単一要素の反復可能なものを渡す必要があります(例えば、 'set([x]')、またはPython 2.7+構文的な砂糖--z = {x}を使用する必要があります。 –
@ njzk2実際には、次の時間は無知を仮定しないでください;) – Woody1193