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)
为什么插入给我一个未绑定的方法,有人可以帮忙吗?
你不需要一个循环,你可以这样做:
def insert(self, e):
if e not in self.l:
self.l.append(e)
或者,如果您只是想确保没有重复;使用 a 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])
原因是因为你的错字:
range[len(self.l)]
应该
range(len(self.l))
您使用括号()
来调用函数。括号[]
用于列表和其他功能,例如切片。