[英]How do I fix "List index out range error"
所以從你的問題我可以理解的是你正在嘗試遍歷你的列表並對它的元素進行排序,在這種情況下你必須使用range()
和len()
函數,所以現在它應該看起來像:
for i in range(len(l)):
len()
function 返回給定 object 的長度(在您的情況下列出)。 range()
function 返回從 0 到給定數字的數字序列。
A = [1,3,5,7,9,2,4,6,8]
元素 0 = 1
元素 1 = 3
……
元素 4 = 9 ---> A[9] = 超出范圍,嘗試訪問列表中的第 9 個元素,但列表的長度為 8。
如果 len(list) 是列表的長度,range(N) 是從 0 到 N-1 的整數,則 range(len(list)) 是從 0 到 1 的整數,小於列表的長度,即,列表的所有合法索引。
這應該工作:
A = [1,3,5,7,9,2,4,6,8]
for i in range(len(A)):
j=i-1
t=A[i]
while j>=0 and t <A[j]:
A[j+1] = A[j]
j=j-1
A[j+1]=t
print(A)
使用一個參數調用 range() 會給出一系列從 0 開始的數字,包括每個整數,但不包括用戶提供的作為 stop 的數字。 python 中的 range() function 最多可以占用 3 個 arguments range(start,stop,step) 調用范圍,只有一個參數,只設置停止。
例如:
x = range(9)
for i in x:
print(x)
將打印數字 1,2,3,4,5,6,7,8
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.