Skip to main content
 首页 » 编程设计

python之当用于测试序列(列表、元组、字符串等)是否包含值时,关键字 "in"的真正作用是什么。循环直到找到值

2025年05月04日19langtianya

给定以下代码:

numbers= [1,2,3,1,2,4,5] 
if 5 in numbers: 
    ................. 

我们可以注意到我们有一个包含 7 个项目的列表(numbers),我想知道幕后的关键字 in 是否执行循环以在中找到匹配项名单

请您参考如下方法:

这取决于。它将在容器类(右侧)上调用 __contains__() - 可以作为循环实现,对于某些类,如果可能,可以通过其他一些更快的方法计算。

你甚至可以在你自己的类中定义它,就像这个说明性的例子:

class ContainsEverything: 
    def __contains__(self, item): 
        return True 
 
c = ContainsEverything() 
 
>>> None in c 
True 
>>> 4 in c 
True