为什么python'in'运算符根据元组大小表现不同?

时间:2015-10-30 00:56:41

标签: python

在python2中:

>>> 'a' in ('ab')
True
>>> 'a' in ('ab', 'c')
False

如果我只想测试给定元组中是否存在某些字符串,看起来当元组大小为1时我不能使用'in'运算符?是否有一致的方法来做到这一点?

更新

谢谢大家。试过这个:

>>> tup='ab',
>>> type(tup)
<type 'tuple'>
>>> 'a' in tup
False

它解释了逗号很好地构建了一个元组。

1 个答案:

答案 0 :(得分:9)

因为('ab')实际上不是元组而是字符串。

,实际上定义了一个元组,而不是括号(除了@chepner指出的空元组())。

('ab',)上尝试相同的操作,看看会发生什么!