为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
繁星点点滴滴 2021-12-21 10:53:34
我应该用 for 循环来做。也许为时已晚,但我完全可以开始。如果一个项目大于它旁边的项目,我应该重新排列它,他们应该改变空间。l = [ 12, 51, 10, 46, 8, 17, 39 ]for i in range(len(l)):  if i > i + 1: 这是我得到的。
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

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


试试这个:


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 循环)。


查看完整回答
反对 回复 2021-12-21
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信