1樓:矽谷創業快訊
在python中,list index out of range意思是列表的索引分配超出列範圍。
對於有序序列: 字串 str 、列表 list 、元組 tuple進行按索引取值的時候,預設範圍為 0 ~ len(有序序列)-1,計數從0開始,而不是從1開始,最後一位索引則為總長度減去1。
當然也可以使用負數表示從倒數第幾個,計數從-1開始,則對於有序序列,總體範圍為 -len(有序序列) ~ len(有序序列)-1,如果輸入的取值結果不在這個範圍內,則報這個錯。
解決辦法:檢查索引是否在 -len(有序序列) ~ len(有序序列)-1 範圍內,修改正確。如下圖,len(a)=2,則對於有序序列,總體範圍為 0~ 1。
2樓:654鄉
python中出現list index out of range有兩種情況:
第1種可能情況:list[index]index超出範圍,也就是常說的陣列越界。
第2種可能情況:list是乙個空的, 沒有乙個元素,進行list[0]就會出現該錯誤,這在爬蟲問題中很常見,比如有個列表爬去下來為空,統一處理就會報錯。
如在c語言中:a[10], 那麼你引用a[10]就會出這型別錯誤(因為其範圍是a[0]~a[9])。在python中:
a = [1,2,3,4,5], 那麼如果你使用a[5]也會出類似問題(範圍為a[0]~a[4])。
儘管列表允許把自身作為元素包含在內,但建議要特別小心:在這樣的列表上,equals 和 hashcode 方法不再是定義良好的。
某些列表實現對列表可能包含的元素有限制。例如,某些實現禁止 null
元素,而某些實現則對元素的型別有限制。
試圖新增不合格的元素會丟擲未經檢查的異常,通常是 nullpointerexception 或
classcastexception。試圖查詢不合格的元素是否存在可能會丟擲異常,也可能簡單地返回 false;某些實現會採用前一種行為,而某些則採用後者。
概括地說,試圖對不合格元素執行操作時,如果完成該操作後不會導致在列表中插入不合格的元素,則該操作可能丟擲乙個異常,也可能成功,這取決於實現的選擇。此介面的規範中將這樣的異常標記為「可選」。
3樓:千木襄襄
集合越界了的意思。比如這個list的大小只有5,而你使用了list[10],就會報集合索引越界。
集合框架示意圖:
list介面的一些實現類:
4樓:醉意撩人殤
list index out of range一般是由於陣列下標超過陣列長度了:如在c語言中:a[10], 那麼你引用a[10]就會出這型別錯誤(因為其範圍是a[0]~a[9])在python中:
a = [1,2,3,4,5], 那麼如果你使用a[5]也會出類似問題(範圍為a[0]~a[4])。
外部輸入的資料都可能存在問題。所以通常在readlines後要做一次處理:
for line in file.readlines():
if not line.strip():continue
r = line.split('\t')
if len(r)<3:continue
print r
try:
records.setdefault(int(r[1]), {})
records[int(r[1])].setdefault(int(r[0]), {})
records[int(r[1])][int(r[0])] = float(r[2])
except valueerro:
continue
這樣就避免了空行,字段數不足,以及型別轉換出錯。
5樓:匿名使用者
檢視你的i的值,當i為12時,i+1等於13,是否有對應的資料索引
6樓:匿名使用者
一般是由於陣列下標超過陣列長度了:
如在c語言中:a[10], 那麼你引用a[10]就會出這型別錯誤(因為其範圍是a[0]~a[9])
在python中:a = [1,2,3,4,5], 那麼如果你使用a[5]也會出類似問題(範圍為a[0]~a[4])
python問題:請問為什麼會提示list index out of range?
7樓:匿名使用者
錯誤的bai原因就是列表賦值實際傳的du是「指標」,zhia=x,刪除daoa中的元素實際也是刪除專x其中的值,屬要完全拷貝其中的值要用 a=x[:]
>>> x=[5,10,20,50]
>>> a=x
>>> del a[1]
>>> a
[5, 20, 50]
>>> x
[5, 20, 50]
>>> a=x[:]
>>> del a[1]
>>> a
[5, 50]
>>> x
[5, 20, 50]
indexerror: list index out of range什麼意思?
8樓:孤獨飛雪飄
indexerror: list index out of range
情況一:
list[index]中的index下標超出範圍了,所以出現了訪問越界;
情況二:
list本身就是乙個空的,沒有乙個元素,所以當訪問到list[0]的時候,就會出現該錯誤。
提示list index out of range,但我怎麼都看不出錯在哪兒了,初學python,求大神解答!!急!!!
9樓:四輪嬰兒車
只能猜一下了。
既然是linef[0]越界了。那麼有一種可能就是,你讀入的檔案chengji.txt裡應該有空行,所以導致出現了乙個空的linef。
建議樓主先試著把檔案裡多餘的空行刪掉。
10樓:匿名使用者
你在sum=0的前面加個print linef 看看是否split成功了
linef沒有index=0的項
關於python一直提示indexerror: list index out of range是怎麼回事?
11樓:匿名使用者
錯誤提示是陣列呼叫超出範圍了
extract()後邊帶個【0】是什麼意思?**是自己寫的嗎?
還有item陣列用之前給個定義
12樓:匿名使用者
灑脫是人生的一種境界。灑脫不是無所事事、不思進取,也不是看破紅塵、心灰意內冷,更不是聲色容
犬馬、紙醉金迷。灑脫是一種世事洞明的豁達,一種淡泊名利的超脫,一種有所為有所不為的風度。灑脫不是放棄,而是放下,放下不切實際的幻想,放下無法更改的過去,行雲流水,任其所之。
怎麼解決呼叫函式時出現indexerror: list index out of range
13樓:
一般外部輸入的資料都可能存在問題。所以通常在readlines後要做一次處理
for line in file.readlines():
if not line.strip():continuer = line.split('\t')
if len(r)<3:continue
print r
try:
records.setdefault(int(r[1]), {})records[int(r[1])].setdefault(int(r[0]), {})
records[int(r[1])][int(r[0])] = float(r[2])
except valueerro:
continue
這樣就避免了空行,字段數不足,以及型別轉換出錯。
python:list index out of range
14樓:珍琪可可
遇到這種情copy況 不妨把它列印bai出來:
num=[2,3,4,6,1]
m=0while m是:
>>> 12
34traceback (most recent call last):
file "c:\documents and settings\administrator\妗岄潰du\1.py", line 4, in
indexerror: list index out of range
這樣你可以zhi知道了把
,在m=4的那dao個迴圈那裡出了問題,因為這個序列長度為5,它不可能有num[5]的情況,就叫做溢位了(list index out of range),所以在if num[m] 如果你想給序列排序,不用這麼麻煩的 ,有內建函式。list.sort()就可以了。 indexerror: list index out of range這個問題怎麼解決 15樓:heart阿飛 你的int(seedlist_for_split[0])或int(seedlist_for_split[1])的值大於2了,你輸入的數值是多少啊! 回南天是天氣返潮現象,一般出現在春季的二三月份,回南天 出現時,空氣濕度接近飽和,牆壁甚至地面都會 冒水 華南屬於典型的海洋性 帶季風氣候,因此每當每年3月至4月時,從中國南海吹來的暖濕氣流,與從中國北方南下的冷空氣相遇,在嶺南形成準靜止鋒,使華南地區的天氣陰晴不定 非常潮濕 回南天形成的主要原因 ... 愛情 是酸酸的 甜甜的 苦苦的 愛情是真實的 是持久地 是我們知道的最甜的也是最苦的 其實呢?我想愛情不就是兩個人的事嗎?愛乙個不愛你的人又是何必呢?我想那應該算是了種解脫啊!找乙個愛你的人吧。他不珍惜就讓他去後悔 沒資格有你的愛 男人?其實女人也搞不懂他的!終於明白 愛情 只是模特身上那件美麗霓裳... 愛情是什麼?愛情是非常抽象的東西,是一種感覺,一種體味 一種身心超越現實的純美反應,牽動著整個身心和悲喜情緒。而且力量巨大,大到往往不是理智可以控制的,或根本無理可講。愛的感覺?愛是一種思緒,似藍天裡飄盪的白雲。愛是陽光,是風,空氣。愛是一種心痛,似撥動你心靈的顫音。愛是一汪情懷,似靜謐而又蕩漾的海...回南天是怎麼回事
愛情是怎麼一回事,什麼是談戀愛,是怎麼一回事?
愛情到底是怎麼一回事啊,愛情到底是怎麼一回事呢?