我试图找出一种使用python从文件中按升序对数字进行排序的简单方法。
这是我到目前为止所得到的 - 但它似乎无法奏效!
input_file = open('C:\\Users|\Desktop\\data.txt')
for line in input_file:
print line
print('Before: ', input_file)
insertion_sort(input_file)
print('After : ', input_file)
def insertion_sort(items):
""" Implementation of insertion sort """
for i in range(1, len(items)):
j = i
while j > 0 and items[j] < items[j-1]:
items[j], items[j-1] = items[j-1], items[j]
j -= 1
非常感谢任何帮助!!
答案 0 :(得分:0)
你只是有一些语法错误:
insertion_sort
功能File
类型,您应该List
来阅读文件内容,然后对List
进行排序,返回List
并打印List
/
更好试试这个:
input_file = open('C:/Users/Desktop/data.txt')
lst = []
for line in input_file:
lst.append(int(line.strip()))
def insertion_sort(items):
""" Implementation of insertion sort """
for i in range(1, len(items)):
j = i
while j > 0 and items[j] < items[j - 1]:
items[j], items[j - 1] = items[j - 1], items[j]
j -= 1
return items
print('Before: ', lst)
print('After : ', insertion_sort(lst))