【发布时间】:2016-02-18 14:54:01
【问题描述】:
我有课
class List:
def __init__(self,head,tail):
self.head = head
self.tail = tail
def cons(self,item):
return List(item,self)
def isEmpty(self):
return self.head == None
def display(self):
s = "["
first = True
list = self
while not list.isEmpty():
if not first:
s=s+","
first = False
s=s+str(list.head)
list = list.tail
s=s+"]"
return s`
创建一个List 对象。我有一个功能(不确定它是否有效);
def sorted(list):
sort = False
i = 0
while i < range(len(list))+1:
if list[i] < list[i+1]:
sort = True
return sort
else:
return sort
我想在List 对象上运行此函数,而不向类添加其他方法。我知道这是否在类中,它只是 List.sorted() 但我如何在对象上运行此函数而不是对象方法?
sorted(List) 似乎也不起作用。请帮忙。
【问题讨论】:
-
你是什么意思在对象上运行这个函数?如果您的意思是,您希望能够使用
self,只需使用list。 -
是的,我认为我没有正确解释这一点,但基本上 List 类创建了一个名为 list 的对象。我想通过在其上运行我的 sorted 函数来确定该列表是否已排序。但是当我通过 sorted(list) 调用它时,我得到错误'List' object is not iterable
-
你将如何创建一个包含三个项目的
List?
标签: python function class object methods