【发布时间】:2017-05-27 18:55:14
【问题描述】:
这是我遇到错误的代码。我收到错误:“列表索引超出范围”,我知道这是因为您无法在迭代中删除项目,但我需要,但我不知道如何。
我实际上是在尝试对该列表进行排序,但找到最小值,然后将其附加到新列表中并将其从旧列表中删除,但我不知道如何。请帮忙。
代码:
list = [22,1,-5,-10,62,-11,36,8]
m = list.index(min(list))
sorted_list = []
for x in range(len(list)):
if list[x] > list[m]:
sorted_list.append(list[m])
list.remove(list[m])
print (sorted_list)
【问题讨论】:
-
这应该做什么?它似乎没有对任何东西进行排序。你为什么不存储值,而不是它的索引?输出应该是什么?
-
老实说,这可能是完全错误的,我只是想获得一些帮助:/
-
然后解释你想要达到的目标。给定输入,输出应该是什么?为什么?
-
您是在尝试对列表进行排序(只需使用
sorted_list = sorted(list)),还是在尝试学习如何实现特定的排序算法? -
(具体来说,您似乎正在尝试实现selection sort。)
标签: python