Python的“in”集合运算符

我有点困惑python运算符集。

如果我有一个python s和一些实例b的集合,那么“b in s”的意思是“是否有一个元素x in s,使得b == x是真的”?

是的,但它意味着hash(b) == hash(x) ,所以项目的相等是不够的,使他们相同。

那就对了。 你可以在解释器中试试这样的:

 >>> a_set = set(['a', 'b', 'c']) >>> 'a' in a_set True >>>'d' in a_set False 

是的,它可以这么说,或者它可以是一个简单的迭代器。 例如:作为迭代器的例子:

 a=set(['1','2','3']) for x in a: print ('This set contains the value ' + x) 

同样作为支票:

 a=set('ILovePython') if 'I' in a: print ('There is an "I" in here') 

编辑:编辑包括集合而不是列表和string

是。 这意味着给定的元素在集合中。

string虽然不是settypes,但在脚本validation过程中具有有价值in属性:

 yn = input("Are you sure you want to do this? ") if yn in "yes": #accepts 'y' OR 'e' OR 's' OR 'ye' OR 'es' OR 'yes' return True return False 

我希望这可以帮助你更好地理解in这个例子中的使用。