Python“in”语句是循环吗?

crl*_*lav 3 python

numbers = [1, 2, 3, 4, 5]

if 4 in numbers:
    print("True")
else:
    print("False")
Run Code Online (Sandbox Code Playgroud)

当执行“in”语句时,这是否通过数字列表执行循环以返回布尔值?

Tim*_*ers 10

element in container
Run Code Online (Sandbox Code Playgroud)

最终执行container.__contains__(element)。因此,如何实现特殊__contains__方法取决于容器的类型。

对于列表类型,是的,实现确实在列表元素上使用了循环。但其他容器类型__contains__以其他方式实现(例如,集合类型使用一种哈希表查找)。