0

「in」と has_key() を使用しようとしましたが、キーが単一の値でない場合、これらは機能しないようです。

 >>> aarr["x","y","z"]=1
 >>> aarr["x","y","z"]
 1
 >>> if "x","y","z" in aarr:
   File "<stdin>", line 1
     if "x","y","z" in aarr:
           ^
 SyntaxError: invalid syntax
 >>> aarr.has_key("x","y","z")
 Traceback (most recent call last):
  File "<stdin>', line 1, in <module>
 TypeError: has_key() takes exactly one argument (3 given)

aarr.has_key(["x","y","z"])また、 or if["x","y","z"] in aarr:どちらの場合も について不平を言っても機能しませんunhashable type: 'list'

4

1 に答える 1

6

式でコンマを使用すると、タプルが作成されます。

タプルを使用してテストします。

if ("x","y","z") in aarr:

.keys()これを学ぶために、以下を参照することもできます。

>>> aarr = {}
>>> aarr["x","y","z"]=1
>>> if ("x","y","z") in aarr:
...     print 'success!'
... 
success!
>>> aarr.keys()
[('x', 'y', 'z')]
>>> aarr.keys()[0]
('x', 'y', 'z')
于 2012-12-31T20:29:42.943 に答える