我对python非常陌生,我的工作是从最小到最大对列表中的整数进行排序。听起来很简单对吧?但是,我不能使用诸如sort()函数之类的内置函数,我必须修改列表,而不是创建一个新列表(例如pure函数)。你知道吗
这就是我一开始的感受:
lst = [-10, 5, 2, 0, 3, 6, 1, 10]
def sortlist(lst):
old_list = lst
new_list = []
while old_list:
minimum = old_list[0]
for i in old_list:
if i < minimum:
minimum = i
new_list.append(minimum)
old_list.remove(minimum)
return new_list
然而,经过这么多的努力。我注意到我没有修改它。如何更改此代码以使其修改列表,而不是创建“new\u list”你知道吗
当值的顺序不正确时,也许可以交换它们,比如在冒泡排序中(虽然不是最有效的,但似乎很适合):
Wikipedia是你的朋友。他们的Sorting Algorithm文章列出了许多不同的方法。一个相对简单的实现方法叫做Bubble Sort。下面是算法的optimized versions之一的Python直译,该算法在该部分的psuedocode中给出:
您应该附加到
new_list
而不是old_list
。 另外,list
参数应该是lst
。你知道吗相关问题 更多 >
编程相关推荐