我應(yīng)該用 for 循環(huán)來做。也許為時已晚,但我完全可以開始。如果一個項目大于它旁邊的項目,我應(yīng)該重新排列它,他們應(yīng)該改變空間。l = [ 12, 51, 10, 46, 8, 17, 39 ]for i in range(len(l)): if i > i + 1: 這是我得到的。
1 回答

眼眸繁星
TA貢獻1873條經(jīng)驗 獲得超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]
您必須迭代列表中的每個項目一次,并與它的鄰居交換它。然而,這樣做一次只會對列表進行部分排序。您必須執(zhí)行與列表中元素相同的次數(shù),以確保您的列表完全排序(這就是為什么有額外的帶有 _ 的 for 循環(huán))。
- 1 回答
- 0 關(guān)注
- 156 瀏覽
添加回答
舉報
0/150
提交
取消