我已经使用""运营商在下面的不同场景。一个直接在字符串上,另一个在字符串列表上。
>>> "yo" in "without you"
True
>>> "yo" in "without you".split()
False
为什么输出不同?
答案 0 :(得分:4)
对于字符串,如果左侧是右侧的子字符串,则in
运算符返回true。
所以"yo" in "without you"
问:子字符串"yo"
是否出现在字符串"without you"
中的任何位置?是。
对于序列(如列表),如果左侧的等于右侧的任何元素,in
运算符将返回true。
"without you".split()
将返回["without", "you"]
。
所以"yo" in ["without", "you"]
问:"yo"
是否等于这两个字符串中的一个?否。
另见
__contains__