我应该用 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 循环)。
- 1 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消