如何重新排列列表以使其升序排列?

时间:2019-03-28 20:57:01

标签: python

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

l = [ 12, 51, 10, 46, 8, 17, 39 ]
for i in range(len(l)):
  if i > i + 1: 

据我所知。

1 个答案:

答案 0 :(得分:0)

您正在做的事情称为气泡排序。

尝试一下:

for _ in l: 
  for i in range(len(l)):
    if i<len(l)-1 and l[i] > l[i+1]:
      l[i], l[i+1] = l[i+1], l[i]

您必须遍历列表中的每个项目一次,并将其与邻居交换。但是,仅执行一次只会对列表进行部分排序。您必须与列表中的元素执行相同的次数,以确保您的列表将被完全排序(这就是为什么_带有额外的for循环的原因)。