我想排序二進制列表,它應該像這樣工作:遞歸無法連接'int'和'NoneType' - 如何將'NoneType'更改爲'int'?
>>> blsort([1, 0, 1])
[0, 1, 1]
所以我做了這個代碼:
def blsort(L):
if L == []:
return []
elif L[0] == 0:
L.insert(0, 0)
else:
L.append(1)
return L[0] + blsort(L[1:])
但我只得到這個錯誤:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
所以不知何故,這段代碼返回一個NoneType
,我不能連接int
到list
。
我假設blsort(L[1:])
是NoneType
類型。我能做些什麼來使它的類型爲int
,所以我可以將它與其他int
連接到list
?
你是不是在這裏後,返回任何第二,如果條件'L.insert(0,0)' – AKS
你爲什麼不使用'list.sort()' ? – Aurel
我無法使用list.sort(),它是學校的一項任務,重點在於學習遞歸,因此不允許使用list.sort() – Manuel