所以我有一个.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
但它似乎不起作用。
Update:感谢您迄今为止的投入。但是,我尝试过排序功能,但我想弄清楚如何使用Selection Sort
.
Update:我无法发布Selection Sort
我已经使用过的代码,因为我已经覆盖了它,尽管如此,下面给出的是代码的示例(我用它来对距离的随机列表进行排序),我必须修改它以按价格递增的顺序对上述列表进行排序。希望这足够了。
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
如果有更简单的方法来实现这一点,请告诉我。提前致谢。干杯。