Python 的 "in" 集合运算符

185 投票
6 回答
372475 浏览
提问于 2025-04-17 09:24

我对Python中集合的in运算符有点困惑。

如果我有一个集合s和一个实例b,那么b in s的意思是“在集合s中是否存在某个元素x,使得b == xtrue”吗?

6 个回答

15

是的,这可以意味着这样,或者它也可以是一个简单的迭代器。比如说:

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')

编辑:已修改为包含集合,而不是列表和字符串

111

没错。你可以在解释器中这样尝试:

>>> a_set = set(['a', 'b', 'c'])

>>> 'a' in a_set
True

>>>'d' in a_set
False
128

是的,但这也意味着 hash(b) == hash(x),所以光是判断两个东西相等还不够,它们必须有相同的哈希值才能被认为是一样的。

撰写回答