有人可以帮我上课

时间:2013-05-22 08:27:48

标签: python class oop object methods

class database(object):
    def __init__(self):
        self.l = []


    def insert(self, e):
        for i in range[len(self.l)]:
            if i == e: return
        self.l.append(e)

为什么插件给我一个未绑定的方法可以有人帮忙吗?

2 个答案:

答案 0 :(得分:3)

你不需要循环,你可以这样做:

def insert(self, e):
    if e not in self.l:
        self.l.append(e)

或者,如果您只是想确保没有重复项;使用set,这是无序唯一项的集合;并且你不能有重复:

>>> s = set()
>>> s.add(1)
>>> s.add(2)
>>> s.add(1) # Note, no error message on duplicate
>>> s.add(4)
>>> s
set([1, 2, 4])

答案 1 :(得分:2)

原因是你的拼写错误:

range[len(self.l)]

应该是

range(len(self.l))

您使用括号()来调用函数。括号[]用于列表和其他功能,如切片。