Python 选择排序';开关';代码
我不明白选择排序算法的一部分。在代码的后半部分(使用Python 选择排序';开关';代码,python,sorting,Python,Sorting,我不明白选择排序算法的一部分。在代码的后半部分(使用temp变量的地方,为什么L[i]和L[minIndx]赋值?这些值本身不是吗?不能只给变量赋值吗 def selSort(L): for i in range(len(L) - 1): minIndx = i minVal = L[i] j = i+1 while j < len(L): if minVal > L[j]:
temp
变量的地方,为什么L[i]
和L[minIndx]
赋值?这些值本身不是吗?不能只给变量赋值吗
def selSort(L):
for i in range(len(L) - 1):
minIndx = i
minVal = L[i]
j = i+1
while j < len(L):
if minVal > L[j]:
minIndx = j
minVal = L[j]
j += 1
# aren’t L[i] and L[minIndx] values? How can they be assigned to new values?
if minIndx != i:
temp = L[i]
L[i] = L[minIndx]
L[minIndx] = temp
def selSort(L):
对于范围内的i(透镜(L)-1):
minIndx=i
minVal=L[i]
j=i+1
而jL[j]:
minIndx=j
minVal=L[j]
j+=1
#L[i]和L[minIndx]不是值吗?如何将它们分配给新值?
如果minIndx!=i:
温度=L[i]
L[i]=L[minIndx]
L[minIndx]=温度
L
是一个数组,它是一个包含许多索引元素的变量,每个元素都像另一个可以指定新值的变量
因此
L[i]
和L[minIndx]
都是可以分配新值的数组元素,这就是我们在这里所做的,来移动元素对它们进行排序。L[0]
例如引用一个值或引用…如果您有一个数组L=[10,20,30]
。L[0]
引用值10
,执行L[0]
操作时,结果将是引用索引的值-10
…执行L[0]=100
…索引0
的此值将更改为100
。您不能执行10=100
,因为10
是一个常量,而不是变量,但您可以执行L[0]=100
,因为L[0]
引用数组中的一个位置。标记您为获得更好的结果而使用的语言作为旁注,在python中,您不需要任何临时变量来交换两个值。a,b=b,a
工作得很好。谢谢。这非常有用。请让我知道标记您使用的语言是什么意思?我应该包括更多的ta吗gs获得更好的问题搜索结果?再次感谢您的反馈!我非常感谢您的时间和帮助。感谢您的反馈。我非常感谢您的反馈,并将在将来尝试添加更多正确的标签。我还是编程和这些论坛的新手,因此非常感谢您的帮助和解释。