2014-02-18 4 views

답변

4

아니요, 없습니다. sorted()은 항상 반복되는 모든 반복 목록을 반환합니다. 이것은 사용자 정의 클래스에만 국한되지 않습니다.

sorted()

은 정렬 된 목록을 발전기를 포함한 모든 반복자 받아, 출력 :

>>> sorted((1, 4, 2)) 
[1, 2, 4] 
>>> sorted(xrange(4, -1, -1)) 
[0, 1, 2, 3, 4] 

자리에서 정렬 그래서 여전히 작동합니다, 사용자 정의 .sort() 방법이있을 것이다 클래스 :

>>> class MyList(list): 
...  def __init__(self, arg=None): 
...   super(MyList, self).__init__(arg) 
...  pass 
... 
>>> myList = MyList([1,3,2]) 
>>> myList.sort() 
>>> myList 
[1, 2, 3] 
>>> type(myList) 
<class '__main__.MyList'>