gpt4 book ai didi

python - 选择排序 Python

转载 作者:太空狗 更新时间:2023-10-29 21:32:10 26 4
gpt4 key购买 nike

这似乎是一个简单的问题,但是当我尝试在 Python 中实现选择排序时,我没有得到排序列表。我的实现有问题吗?子集化可能是个问题。

source = [4,2,1,10,5,3,100]
for i in range(len(source)):
mini = min(source[i:]) #find minimum element
min_index = source[i:].index(mini)-1 #find index of minimum element
source[i:][min_index]= source[i:][0] #replace element at min_index with first element
source[i:][0] = mini #replace first element with min element
print source

最佳答案

我认为有几个问题。

首先,当您执行 source[i:] 时,我相信会返回一个由请求的子元素组成的新数组,而不是原始数组的一部分,因此如果您修改它,则不会修改原始数组。其次,您在不应该的情况下从索引中减去 1。

source = [4,2,1,10,5,3,100]
for i in range(len(source)):
mini = min(source[i:]) #find minimum element
min_index = source[i:].index(mini) #find index of minimum element
source[i + min_index] = source[i] #replace element at min_index with first element
source[i] = mini #replace first element with min element
print source

这给出:

[1, 2, 3, 4, 5, 10, 100]

关于python - 选择排序 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com