所以我是 python 新手,目前正在学习列表操作。下面是我编写的用于对列表执行合并排序的程序。但是,在编译时,我在第 3 行出现错误-
而 len(lista) != 0 和 len(listb) != 0:
TypeError:“NoneType”类型的对象没有 len()
我怎样才能解决这个问题?
def mergesort(lista, listb):
listc = []
while len(lista) != 0 and len(listb) != 0:
if lista[0] > listb[0]:
listc.append(listb[0])
listb.remove(listb[0])
else:
listc.append(lista[0])
lista.remove(lista[0])
if len(lista) == 0:
listc += listb
else:
listc += lista
print(listc)
def merge(list):
if len(list) == 0 or len(list) == 1:
return list
else:
mid = len(list) // 2
lista = merge(list[:mid])
listb = merge(list[mid:])
return mergesort(lista, listb)
list = [15, 12, 14, 17, 13, 11, 12, 16, 15]
merge(list)
呼如林
慕田峪9158850
噜噜哒
相关分类