Skip to main content
 首页 » 编程设计

python之排序()返回无

2025年05月04日9lidabo

<分区>

代码:

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)) 

即使在两种情况下它应该返回一个空列表,代码也会输出 None:

return [] 

和

a2=self.mergeSort(a) 
b2=self.mergeSort(b) 
if a2==None or b2==None: 
    a2=[] 
    b2=[] 
return (a2+b2).sort() 

详细信息: 该代码适用于我为 python 练习制作的列表排序模块(我在 python 方面相对较新)。 sort1 是修改后的合并排序。