使用'str in str in str'语法看一段代码很奇怪,例如:
>>> 'test' in 'testtest' in 'testtesttest'
True
>>> 'test' in 'testtest' in 'tb3'
False
>>> 'test' in 'testtesta' in 'testtesttest'
False
>>> 'test' in ('testtest' in 'testtesttest')
Traceback (most recent call last):
File "<input>", line 1, in <module>
'test' in ('testtest' in 'testtesttest')
TypeError: argument of type 'bool' is not iterable
Run Code Online (Sandbox Code Playgroud)
似乎'in ... in ...'类似于'<... <...'比较.但是一个快速的谷歌没有引导我到官方的答案.有帮助吗?
Python文档的官方答案:
comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "!="
| "is" ["not"] | ["not"] "in"
Run Code Online (Sandbox Code Playgroud)
该in关键字是比较运算符.并且"比较可以任意链接".请注意,这并不局限于"值比较"( ,>,==等).
有问题的代码检查每个代码是否是链中下一个项的子字符串.