關於Python一直提示IndexError list i

2021-04-12 18:08:01 字數 5838 閱讀 6140

1樓:匿名使用者

錯誤提示是陣列呼叫超出範圍了

extract()後邊帶個【0】是什麼意思?**是自己寫的嗎?

還有item陣列用之前給個定義

2樓:匿名使用者

灑脫是人生的一種境界。灑脫不是無所事事、不思進取,也不是看破紅塵、心灰意內冷,更不是聲色容

犬馬、紙醉金迷。灑脫是一種世事洞明的豁達,一種淡泊名利的超脫,一種有所為有所不為的風度。灑脫不是放棄,而是放下,放下不切實際的幻想,放下無法更改的過去,行雲流水,任其所之。

python為什麼老是顯示indexerror: list index out of range?求糾錯

3樓:匿名使用者

你 del了列表

復元素,列表專案就減少了,制比如一開始mylist是10個數字,則range迴圈10次,從0到9, 而在下面的if語句中,你刪除了mylist中的一個元素,這時候mylist長度變成了9, 你再訪問mylist[9]就越界了,所以會報indexerror: list index out of range錯誤

一個關於python的小問題:為什麼這個**會報錯:indexerror: list index out of range(**如圖)

4樓:

因為你最開始len(m)得出的長度始終是開始的5。但你迴圈的時候,刪除了元素,實際上len(m)已經發生變換,變成了4而後變成3,你要迴圈到5,肯定報錯

5樓:匿名使用者

m.remove後,m[4]不存在了、m[3]

所以迴圈到後面就報錯了吧…

python問題:請問為什麼會提示list index out of range?

6樓:匿名使用者

錯誤的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]

python按課本上弄的,為什麼顯示indexerror: list index out of range

7樓:大漠鳳蕭蕭

發**,用編輯框的**發,這樣子沒法看

8樓:匿名使用者

你確定按課本上弄的?自己不會根據錯誤提示找問題?

traceback (most recent call last):

file "c:/users/lenovo/desktop/a.py", line 59, in

main()

file "c:/users/lenovo/desktop/a.py", line 58, in main

printcalendar(year,w)

file "c:/users/lenovo/desktop/a.py", line 22, in printcalendar

first=onemonth(year,mouth,first)

file "c:/users/lenovo/desktop/a.py", line 29, in onemonth

d=days(year,mouth)

file "c:/users/lenovo/desktop/a.py", line 36, in days

d=mouth_days[m]

indexerror: list index out of range

# 明顯索引錯誤, 列表索引越界

# ** 36 行 d=mouth_days[m] 這個函式 然後一步步檢視m怎麼得來的

# 下面**註釋了,自己看吧

#-*- coding:utf-8 -*-

def getyear():

print'this problem print the calendar of a given year.' # problem -> program ?

year=input('please enter the year (after 1900):')

return year

def firstday(year):

k=leapyears(year)

n=(year-1900)*365+k

return (n+1)%7

def leapyears(year):

count=0

for y in range(1900,year):

if y%4==0 and (y%100!=0 or y%400==0):

count=count+1

return count

def printcalendar(year,w):

print

print'**********='+str(year)+'**********='

first=w

for mouth in range(12):

heading(mouth)

#first=onemonth(year,mouth,first) # 注意此時的引數 year->mouth->first

first=onemonth(mouth,year,first)

def heading(m):

mouth=['jan','feb','mar','apr','may','jun','jul',

'aug','sept','oct','nov','dec']

print'            %s             '%(mouth[m])

print 'mon tur wed thu fri sat sun'

def onemonth(mouth,year,first): # 注意此時的引數 month->year->first

d=days(year,mouth)

frame=layout(first,d)

printmouth(frame)

return (first + d) % 7

def days(y,m):

#mouth_days=[31,28,31,30,31,31,31,30,31,30,31] # 少一個月份 六月

mouth_days=[31,28,31,30,31,30,31,31,30,31,30,31]

d=mouth_days[m]

if (m==1) and (y%4==0 and (y%100 == 0 or y%400 == 0)):

d=d+1

return d

def layout(first,d):

frame=42*[""]

if first==0:

first=7

j=first-1

for i in range(1,d+1):

frame[j]=i

j=j+1

return frame

def printmouth(frame):

for i in range(42):

print '%3s'%(frame[i]),

if (i+1)%7==0:

print

def main():

year=getyear() # 返回 輸入 年

w=firstday(year) # 返回 某年的 第一天

printcalendar(year,w)

main()

python 中的 indexerror: list index out of range

9樓:偉讓馮煙

後一段**有問題,其中修改了a[ad],又修改了i的值,你把這一部分再仔細看一下,修改專成其他的list和變數來表示屬吧。

ifflag

>0:ad

=int(''.join([str(abs(x))forx

inapd[(len(apd)-1)]]))a[ad]=ap

abond=[x

forx

inapd[:-1]]

fork

inrange(0,len(abond)):

forx,abond[k]

inenumerate(a):

dela[x]i=0

10樓:匿名使用者

一般外部輸入的資料都可能存

在問題。所以通常在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

這樣就避免了空行,容

欄位數不足,以及型別轉換出錯。

11樓:匿名使用者

.strip()函式

python strip() 方法用於移copy除字串頭尾指定的bai字元(默du認為空格)或字元序列。

zhi注意:該方法只能dao刪除開頭或是結尾的字元,不能刪除中間部分的字元。

增加一行 a = a.strip() #a為報錯的變數,這樣就能清楚掉空格了,執行速度也快了。

12樓:匿名使用者

因為就只有r[0]這個元素,用r[1]當然下表越界了。先用len(r)判斷一下長度。

另外 int(r[0]) 或者int(r[1])也可能出異常的,需要保護

13樓:喜歡種蘑菇

」indexerror: list index out of range」這種錯誤一般有兩種情況:

第一種可能情況:list[index], index超出範圍,也就專是常說的陣列越屬界。

第二種可能情況:list是一個空的,沒有一個元素,進行list[0]就會出現該錯誤,在爬蟲問題中很常見,比如有個列表爬去下來為空,統一處理就會報錯。

14樓:匿名使用者

indexerror:索引越界

python出現indexerror: list index out of range

15樓:日time寸

你的路徑下有空資料夾

這時候files是一個空的列表

因此files[0]會報錯

16樓:匿名使用者

索引錯誤,索引值超出範圍了

python3請問為什麼會出來indexerror: list index out of range

17樓:日time寸

關鍵在於變數seedlist_for_split的值,你可以用print列印出來看看有沒有問題

出現indexerror: list index out of range錯誤是因為:索版引值≥列表的長度權 或者 索引值<0

開機一直提示cpuvoltageovererror主機板是華碩

圖中的vccin項,為cpu輸入電壓引數,正常值約在2v左右。從圖中引數看到電源為主機板提供的 12v 5v 3.3v,及cpu核心電壓均屬正常範疇,說明電源正常啦。而僅有vccin電壓超高,據以往經驗判斷,多為主機板上cpu供電管理單元故障。可將cpu換到其他主機板上測試,立馬得知是主機板問題,還...

windows一直提示我啟用,現在變成「產品啟用的寬限期限已

不啟用沒有關係,就是每次開機就提示一下,是你以前打了個補丁,微軟知道你用的盜版了,嘿嘿。實在煩的話就重新裝一個系統好了。是的。在購買零售版本軟體產品前,客戶將從產品外觀包裝上看到有關啟用操作回 的要求。此外,對於諸如office這樣答的應用程式,在前五十次使用過程 在執行啟用操作前允許啟動的最大次數...

nvidia顯示卡驅動一直提示正在準備安裝

這個得專業人士才知道了。安裝英偉達顯示卡驅動時一直顯示必須先安裝inter驅動 一塊整合的英特爾顯示卡,一塊獨立nv顯示卡,這兩個驅動就都得安裝。分配是英特爾與nv顯示卡的驅動。假如你是雙顯示卡的膝上型電腦,一塊整合的英特爾顯示卡,一塊獨立nv顯示卡,那麼這兩個驅動你就都得安裝。安裝nivida驅動...