Python 穿梭排序迭代返回列表??怎么用?

Python 穿梭排序迭代返回列表??怎么用?,python,algorithm,sorting,Python,Algorithm,Sorting,我正在尝试完成穿梭排序算法的实现,如果交换了两个相邻的项目,它将返回检查其他项目 我可以很好地检查相邻的项目,但是如何使用2 for循环检查列表的前面元素,如代码中所示 如果您对如何实现该算法有任何帮助或建议,我们将不胜感激 谢谢 def ShuttleSort(List): for i in range(len(List)): for j in range(len(List)-i): if j == 0: if L

我正在尝试完成穿梭排序算法的实现,如果交换了两个相邻的项目,它将返回检查其他项目

我可以很好地检查相邻的项目,但是如何使用2 for循环检查列表的前面元素,如代码中所示

如果您对如何实现该算法有任何帮助或建议,我们将不胜感激

谢谢

def ShuttleSort(List):
     for i in range(len(List)):
        for j in range(len(List)-i):
            if j == 0:
               if List[j] > List[j+1]:
                   List[j],List[j+1] = list[j+1],List[j]
               else:
                   pass
            elif List[j] > List[j+1]:
               List[j],List[j+1] = list[j+1],List[j]                                                     

不要给变量命名
list、map、max、min、dict、set、str、int、float、
。看见从本质上讲,您可以为这些名称分配一些与其所代表的函数不同的值。还有,为什么有些名称为
List
,而有些名称为
List
?是的,我理解,但在我的python中,唯一的列表是reserved List,而不是reserved List。由于打字错误,两者有所不同。维基百科说,穿梭式也被称为鸡尾酒摇壶式。以下是几个链接: