a=[1,2,3,4,5,6,'a','b','c']
for i in range(len(a)):
if a[i]=='a':
temp=a[i+1]
a[i+1]=a[i]
a[i]=temp
这是我的学校项目。
这个特殊的代码块在python中给出了索引超出范围的错误?
我真的无法理解为什么我要交换'a'和'b'?
请帮助!
答案 0 :(得分:0)
如果i
从0到len(a),那么i+1
超出了a。索引范围。
答案 1 :(得分:0)
a=[1,2,3,4,5,6,'a','b','c']
print("list length: %d" % len(a))
for i in range(len(a)):
if a[i]=='a':
print("swap a[%d] and a[%d]: " % (i+1, i))
temp=a[i+1]
a[i+1]=a[i]
a[i]=temp
print(a)
和out:
list length: 9
swap a[7] and a[6]:
[1, 2, 3, 4, 5, 6, 'b', 'a', 'c']
swap a[8] and a[7]:
[1, 2, 3, 4, 5, 6, 'b', 'c', 'a']
swap a[9] and a[8]:
Traceback (most recent call last):
File "so.py", line 6, in <module>
temp=a[i+1]
IndexError: list index out of range