2017-07-09 7 views
0

質問は純粋な好奇心です。なぜなら私は最近、アルゴリズムとデータ構造を学習し、知識をPythonで適用し始めているからです。 私のコードは次のとおりです。リストをインデックスではなく数値で並べ替えるにはどうしたらいいですか?

def sorting(listik): 
    n = range(len(listik)) 
    for i in n: 
     lowest = min(listik[i:]) 
     for j in n: 
      if listik[j] < listik[lowest:]: 
       lowest, listik[j] = i, j 

listik = [2,8,5,4,7,1,6,9,10,3] 
sorting(listik) 
print listik 

出力は正しいですが、それがになっていて、それがインデックスでソートされます。 私はforループでそれをするコードを見ましたが、それらは選択ソートアルゴリズムではありませんでしたが、このアルゴリズムを適用することが可能かどうかは100%確信できません(また、このアルゴリズム外部ライブラリを使用せずに簡素化できます) ありがとう!

+0

私は、この特定のコードを簡略化することができれば、私は何を意味するのか –

+0

@HarshithThotaが一般的である任意の外部ライブラリが表示されていない(私はそれかどうかを知りません可能です) – pyjka

+0

@pyjkaあなたはこの例のためのあなたの望ましい出力を指定できますか?事前定義されたメソッドを使用しますか? –

答えて

1

あなたは、ソートに使用することができます:

>>> listik = [2,8,5,4,7,1,6,9,10,3] 
>>> listik.sort() 
>>> listik 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
0

組み込みソート関数は、インデックスに関係なく、数値のリストをソートします。

print(sorted(listik)) 
+0

彼は、単にリストをソートするのではなく、Pythonの選択ソートをシミュレートしたいと考えています。 –

関連する問題