我嘗試運行這個小循環。我得到一個錯誤:這究竟如何超出範圍?
for i in range(len(lst)):
if lst[i] > lst[i+1]:
lst[i],lst[i+1] = lst[i+1],lst[i]
錯誤:
Traceback (most recent call last):
File "C:/Python27/bubblesort.py", line 10, in <module>
IndexError: list index out of range
我不能完成我的腦海裏這一點,我缺少什麼?有人幫忙。
既然你上去序列中的最後一個索引,然後再試着訪問'I + 1',你爲什麼驚訝它是超出範圍? – jonrsharpe
嘗試使用'len(lst) - 1'而不是'len(lst)' –
FWIW,您可以使用擴展切片符號來交換您的列表項:'lst [i:i + 2] = lst [i + 1: I-1:-1]'。 –