私はこのように動作するはずバイナリリストを並べ替えしようとしている:再帰は '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
に連結することはできますか?
あなたは後に、ここでは何も返さないされた第2の場合の条件 'L.insert(0、0)' – AKS
は、なぜあなたは 'はlist.sortを使用していません()' ? – Aurel
私はlist.sort()を使うことができませんでした。それは学校への割り当てであり、そのポイントは再帰を学ぶので、list.sort()は許可されませんでした。 – Manuel