我尝试运行这个小循环。我得到一个错误:这究竟如何超出范围?
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]'。 –