为了我的生命,我不明白为什么我会犯这样的错误:
UnboundLocalError: local variable 'unsorted' referenced before assignment (while len(unsorted) > 0)
对于这段代码,我也知道它不是选择排序的最佳实现:
def selection_sort(arr):
unsorted = arr[:]
sorted_arr = []
while len(unsorted) > 0:
lowest = arr[0]
lowest_index = 0
for i in range(len(unsorted)):
if arr[i] < lowest:
lowest = arr[i]
lowest_index = i
sorted_arr.append(lowest)
del(unsorted, lowest_index)
return sorted_arr
出现此错误是因为:
删除两个变量
unsorted
和lowest_index
,然后在下一个循环回合中,再次尝试使用它们。你知道吗del (unsorted, lowest_index)
删除未排序和最低的索引。如果您试图删除未排序do中的元素最低\u索引:相关问题 更多 >
编程相关推荐