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