代碼:排序()返回無
import math
import time
import random
class SortClass(object):
def sort1(self, l):
if len(l)==1:
return l
elif len(l)==2:
if l[0]<l[1]:
return l
else:
return l[::-1]
else:
pivot=math.floor(len(l)/2)
a=l[pivot:]
b=l[:pivot]
a2=self.sort1(a)
b2=self.sort1(b)
if a2==None or b2==None:
a2=[]
b2=[]
return (a2+b2).sort()
return []
Sort=SortClass()
x=[20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1]
print(Sort.sort1(x))
代碼輸出無即使它應該在兩種情況下返回一個空列表:
return []
和
a2=self.mergeSort(a)
b2=self.mergeSort(b)
if a2==None or b2==None:
a2=[]
b2=[]
return (a2+b2).sort()
詳細信息: 該代碼是我爲python練習製作的列表排序模塊(我在python中比較新)。 sort1
是一個修改後的mergesort。
修復了我的文章的語法/拼寫。 –
對於Nones的支票只是因爲它返回無,但無論如何感謝。 –