如何为ArrayList类成功地实现我自己的\uuuuuu contains \uuuuuuuuu方法?

2024-04-24 05:41:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个比较新的python程序员,正在尝试修复ArrayList类中的contains方法。我想检查输入值是否真的包含在存储列表中

def __contains__(self, value):
        """Implements `val in self`. Returns true if value is found in this list."""
        for num in iter(self):
            if(num==value):
                return True
            else: 
                return False

有人能告诉我这个代码有什么问题吗?我用生成的列表范围(100)测试它,值为50,但它不会返回True


Tags: 方法inselftrue列表returnifvalue
1条回答
网友
1楼 · 发布于 2024-04-24 05:41:44

测试num是否等于self中的第一个值。您应该只在整个循环结束后return False,并且您已经证明num不等于列表中的任何内容,因为您还没有返回True

另外请注意,如果您只写for num in self,则iter是隐含的。普通的Python列表([])本质上已经是JavaArrayList

相关问题 更多 >