在python中处理自定义列表类,如
class ListData:
def __init__(self):
self.data = []
def add(self, x):
self.data.append(x)
def delete(self, x):
self.data.remove(x)
测试时,始终返回None:
from list import ListData
listdata = ListData()
mylist = [34, 32, 34, 89]
mylist = listdata.add(2)
mylist = listdata.add(5)
print mylist # Prints None
答案 0 :(得分:0)
您没有从add
和delete
方法返回任何内容,因此将其返回值分配给mylist
会使您None
。摆脱额外的任务,你的代码就可以了。
mylist = [34, 32, 34, 89]
listdata.add(2)
listdata.add(5)
print mylist
或者您可以修改方法以返回self
,但这样做的价值不大。
def add(self, x):
self.data.append(x)
return self
def delete(self, x):
self.data.remove(x)
return self
答案 1 :(得分:0)
您可以更改API,以便将其作为列表打印。你可以阅读以下内容
class ListData:
def __init__(self):
self.data = []
def add(self, x):
self.data.append(x)
def delete(self, x):
self.data.remove(x)
def data(self):
return self.data
a = ListData()
a.add(1)
a.add(2)
print a.data
将输出:
[1,2]