在Python中,in
关键字的效率是多少,例如:
a = [1, 2, 3]
if 4 in a:
...
最佳答案
这取决于右手operand:
类可以实现special method __contains__
来覆盖默认行为(遍历序列),因此与比较容器的每个元素相比,它们可以提供一种(或更少)有效的方式来测试成员资格。
由于示例中有一个列表,因此将对其进行迭代,并比较每个元素,直到找到匹配项或列表用尽。时间复杂度通常为O(n)
。
在Python中,in
关键字的效率是多少,例如:
a = [1, 2, 3]
if 4 in a:
...
最佳答案
这取决于右手operand:
类可以实现special method __contains__
来覆盖默认行为(遍历序列),因此与比较容器的每个元素相比,它们可以提供一种(或更少)有效的方式来测试成员资格。
由于示例中有一个列表,因此将对其进行迭代,并比较每个元素,直到找到匹配项或列表用尽。时间复杂度通常为O(n)
。