Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择排序';开关';代码_Python_Sorting - Fatal编程技术网

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获得更好的问题搜索结果?再次感谢您的反馈!我非常感谢您的时间和帮助。感谢您的反馈。我非常感谢您的反馈,并将在将来尝试添加更多正确的标签。我还是编程和这些论坛的新手,因此非常感谢您的帮助和解释。