Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 什么';s范围(x,y)中[for';elem';与[for';i']的差异,参考列表元素_Python_List_For Loop - Fatal编程技术网

Python 什么';s范围(x,y)中[for';elem';与[for';i']的差异,参考列表元素

Python 什么';s范围(x,y)中[for';elem';与[for';i']的差异,参考列表元素,python,list,for-loop,Python,List,For Loop,我使用python(3.6.2)研究了选择排序算法 我认识到,所有的解决方案/示例都会使用显式数字来引用列表中的索引 例如: def选择_排序(内容): 内容长度=长度(内容) 对于范围内的位置(内容长度): 对于范围内的下一个位置(位置+1,内容长度): 如果内容[下一个位置]

我使用python(3.6.2)研究了选择排序算法

我认识到,所有的解决方案/示例都会使用显式数字来引用列表中的索引

例如:

def选择_排序(内容):
内容长度=长度(内容)
对于范围内的位置(内容长度):
对于范围内的下一个位置(位置+1,内容长度):
如果内容[下一个位置]<内容[位置]:
内容[下一个位置],内容[位置]=内容[位置],内容[下一个位置]
我试着这样做:

def选择_排序(内容):
对于内容中的位置:
对于(内容)中的下一个位置:
如果下一个位置<位置:
位置,下一个位置=下一个位置,位置
以及
内容[下一个位置]
内容[位置]
的一些变化

我的解决方案毫无用处。甚至一个错误都没有。。。返回列表的顺序与插入函数的顺序相同

为什么?:-)
elem
content[i]
之间的区别是什么

还是我在这一行遗漏了什么?
position,next\u pos=next\u position,position

在第二个代码段中,实际上您正在交换两个变量的值,这两个变量的值与数组内容相同,而实际数组保持不变

position, next_pos = next_position, position
这只交换具有数组元素值的两个贵重物品的值

但这会通过索引访问数组的元素来更改数组的内容

content[next_pos], content[position] = content[position], content[next_pos]
快乐编码:)