私はPythonの初心者で、言語の挿入ソートを実装しようとしています。しかし、ソートするリストに自分のコードを入力すると、同じリストが返されます。私は、コードが2番目のループにも行かないことを知りました。私はPython 3を使用しています。これを逆に反復すると何が問題になりますか?Python3の挿入ソートの逆順の反復処理がありません
def ins_sort(us_in):
tmp = None
for key in range(1, len(us_in)-1):
for i in range(key, 0, -1):
if us_in[key] < us_in[i] and key != 0:
tmp = us_in[key]
us_in[key] = us_in[i]
us_in[i] = tmp
return us_in
print(ins_sort([5,2,4,6,1,3]))
結果:
[5,2,4,1,6,3]
インデントを修正した後、print文を2番目のループに入れ、期待通りに実行しました(固定インデントで質問を更新しました)。イテレータに問題はありません。 –