猿问

如何重新排列列表以使它们按升序排列?

我应该用 for 循环来做。也许为时已晚,但我完全可以开始。如果一个项目大于它旁边的项目,我应该重新排列它,他们应该改变空间。


l = [ 12, 51, 10, 46, 8, 17, 39 ]

for i in range(len(l)):

  if i > i + 1: 

这是我得到的。


繁星点点滴滴
浏览 136回答 1
1回答

眼眸繁星

您正在做的事情称为冒泡排序。试试这个:for _ in l:&nbsp;&nbsp; for i in range(len(l)):&nbsp; &nbsp; if i<len(l)-1 and l[i] > l[i+1]:&nbsp; &nbsp; &nbsp; l[i], l[i+1] = l[i+1], l[i]您必须迭代列表中的每个项目一次,并与它的邻居交换它。然而,这样做一次只会对列表进行部分排序。您必须执行与列表中元素相同的次数,以确保您的列表完全排序(这就是为什么有额外的带有 _ 的 for 循环)。
随时随地看视频慕课网APP

相关分类

Go
我要回答