次のようにだから私は.txt
ファイルを持っている:選択の実装方法リスト内で並べ替えますか?
131,263.07
47,170.14
170,190.01
180,412.69
53,401.53
をそして私のようなリストを出力するように、ファイルを読むために持っていた:
131 kms, $263.07
47 kms, $170.14
170 kms, $190.01
180 kms, $412.69
53 kms, $401.53
私が使用したコードはでした:
def PrintList(table):
for line in table:
print(str(line[0]) + " kms, $" + str(line[1]))
file = open(input("Enter file name: "))
table = []
for line in file:
line = line.rstrip().split(",")
line[0] = int(line[0])
line[1] = float(line[1])
table.append(line)
PrintList(table)
file.close()
そして今、私は得ることが価格の昇順でリストをソートしたいと思います:
47 kms, $170.14
170 kms, $190.01
131 kms, $263.07
53 kms, $401.53
180 kms, $412.69
私はこれをPythonでどのように実装しますか?私はSelection Sort
を使ってこれを試みましたが、うまく動作していないようです。
更新:これまでの入力をありがとう。しかし、ソート関数を試しましたが、これを実装する方法を理解したいと思います。Selection Sort
アップデート:私はそれにもかかわらず下記の私はそれを上書きしてきたように、私が使用しているSelection Sort
コードを投稿することができませんは、コードの例(私は距離のランダムなリストをソートするために使用されている)であるI前述のリストを価格の高い順に並べ替えるために修正しなければならなかった。それが十分であることを願っています。
def selectionSort(distance):
n = len(distance)
for i in range(n):
minPlace = searchMin(distance)
swap(distance, i, minPlace+i)
def searchMin(distance):
minPlace = 0
n = len(distance)
for i in range(1, n):
if distance[i] < distance[minPlace]:
minPlace = i
return minPlace
def swap(distance, i, j):
temp = distance[i]
distance[i] = distance[j]
distance[j] = temp
これを実装する簡単な方法がある場合、私に知らせてください。前もって感謝します。乾杯。
ソート機能を使用しましたか? – trans1st0r
はい、あります。しかし、私は選択ソートを使用してそれを実装する方法を理解したいと思います。 – Raux
あなたが得ているすべての答えは、「ここではPythonをあなたのために並べ替える方法です」ですが、動作しなかったソートアルゴリズムの助けが必要ですか? –